HBase Shell parancsok példákkal

⚡ Okos összefoglaló

A HBase shell parancsok lehetővé teszik a táblák és adatok közvetlen kezelését egy interaktív promptból, amelyek általános parancsokra, táblakezelési parancsokra (például létrehozás és eldobás), adatkezelési parancsokra (például put és get), valamint fürtreplikációs parancsokra csoportosíthatók.

  • 🖥️ Általános parancsok: A status, a version, a table_help és a whoami jelentést készít a fürt állapotáról és a felhasználói információkról.
  • 🗂️ Táblázatkezelés: táblák létrehozása, listázása, leírása, letiltása, engedélyezése, elvetése és módosítása, build és átformálása.
  • ✏️ Adatmanipuláció: Cellaértékek behelyezése, lekérése, törlése, összes törlése, csonkítása, számlálása és beolvasása, olvasása és írása.
  • 🔁 Cluster replikáció: Az add_peer, remove_peer, start_replication és stop_replication metódusok kezelik az adatreplikációt.
  • TTL attribútum: Az élettartam (Time To Live) egy beállított számú másodperc elteltével automatikusan lejárnak az oszlopcsalád sorai.
  • 🤖 MI segítség: A mesterséges intelligencia asszisztensei egyszerű nyelvi promptokból generálják és magyarázzák el a HBase shell parancsokat.

HBase shell parancsok példákkal táblázatokhoz, adatokhoz és fürtreplikációhoz

Hogyan lehet interakcióba lépni a HBase-zel Shell-parancsok és Java API

A HBase Hadoopra történő sikeres telepítése után egy interaktív shellt kapunk, amellyel különféle parancsokat hajthatunk végre és műveleteket hajthatunk végre. Ezekkel a parancsokkal több műveletet is végrehajthatunk az adattáblákon, ami jobb adattárolási hatékonyságot és rugalmasabb interakciót biztosít az ügyfél számára.

Kétféleképpen tudunk kommunikálni a HBase-zel:

  • HBase interaktív shell mód, és
  • Keresztül Java API.

A HBase-ben az interaktív shell mód a HBase-zel való interakcióra szolgál táblaműveletek, táblakezelés és adatmodellezés céljából. Java API modell segítségével mindenféle táblázat- és adatműveletet végrehajthatunk a HBase-ben. Mindkét módszerrel kommunikálhatunk a HBase-zel. Az egyetlen különbség a kettő között az, hogy a Java API-használatok Java kódot használ a HBase-hez való csatlakozáshoz, míg a shell mód shell parancsokat használ a HBase-hez való csatlakozáshoz.

A HBase rövid áttekintése, mielőtt továbblépnénk:

  • HBase felhasználások Hadoop fájlokat használ tárolórendszerként nagy mennyiségű adat tárolására. A HBase főkiszolgálókból és regionális kiszolgálókból áll.
  • A HBase-ben tárolt adatok régiók formájában lesznek tárolva. Továbbá ezeket a régiókat több régiószerverre osztják fel és tárolják.
  • Ezek a shell parancsok lehetővé teszik a programozó számára, hogy teljes shell módú interakcióval definiáljon táblasémákat és adatműveleteket.
  • Bármelyik parancsot is használjuk, az tükröződni fog a HBase adatmodellben.
  • HBase shell parancsokat használunk az operációs rendszer szkriptértelmezőiben, például a Bash shellben.
  • A Bash shell az alapértelmezett parancsértelmező a legtöbb programhoz Linux és Unix operációs rendszer disztribúciók.
  • A HBase fejlett verziói JRuby stílusú objektumorientált hivatkozásokkal ellátott shell parancsokat biztosítanak a táblázatokhoz.
  • A táblahivatkozási változók HBase shell módban adatműveletek végrehajtására használhatók.

Például:

  • Ebben az oktatóanyagban létrehoztunk egy táblázatot, amelyben az „oktatás” a tábla nevét jelöli, és a „guru99” oszlopnévnek felel meg.
  • Néhány parancsban maga a „guru99” egy táblanevet jelöl.

Általános parancsok

A HBase-ben az általános parancsok a következő parancsokba vannak kategorizálva:

  • Állapot
  • Változat
  • Table_help ( szkennelés, ledobás, beszerzés, elhelyezés, letiltás stb.)
  • Ki vagyok én

A HBase shell parancsba való belépéshez először is végre kell hajtanunk az alább említett kódot.

hbase Shell

Miután beléptünk a HBase shellbe, végrehajthatjuk az alább említett shell parancsokat. Ezen parancsok segítségével mindenféle táblázatkezelési műveletet végrehajthatunk a HBase shell módban. Az interaktív shell prompt az alábbiak szerint jelenik meg:

HBase interaktív shell prompt megnyitva a hbase shell paranccsal

Nézzük meg ezeket a parancsokat és azok használatát egyenként egy példával.

Állapot

Syntax:status

Ez a parancs részleteket ad a rendszer állapotáról, például a klaszterben lévő szerverek számát, az aktív szerverek számát és az átlagos terhelési értéket. Átadhat konkrét paramétereket is attól függően, hogy mennyire részletes állapotot szeretne tudni a rendszerről. A paraméterek lehetnek „összefoglaló”, „egyszerű” vagy „részletes”; az alapértelmezett paraméter az „összefoglaló”.

Az alábbiakban bemutattuk, hogyan adhatsz át különböző paramétereket a status parancsnak. Ha megnézzük az alábbi képernyőképet, jobban átlátjuk a folyamatot.

hbase(main):001:0>status
hbase(main):002:0>status 'simple'
hbase(main):003:0>status 'summary'
hbase(main):004:0> status 'detailed'

Az állapotkimenet az alábbiakban látható:

A HBase shell állapotparancsának kimenete, amely az élő szervereket, a nem működő szervereket és az átlagos terhelést mutatja.

Amikor végrehajtjuk ezt a status parancsot, információt kapunk a jelen lévő szerverek számáról, a nem működő szerverekről és a szerver átlagos terheléséről. Itt a képernyőkép olyan információkat mutat, mint 1 élő szerver, 1 nem működő szerver és 7.0000 átlagos terhelés.

Változat

Syntax: version

A verzió kimenete az alábbiakban látható:

A HBase shell verzióját jelző parancs, amely a telepített HBase verziót mutatja.

  • Ez a parancs parancs módban megjeleníti a jelenleg használt HBase verziót.
  • Ha lefuttatod a version parancsot, az a fent látható kimenetet adja.

Táblázat súgó

Syntax:table_help

A table_help kimenete az alábbiakban látható:

HBase shell table_help kimeneti lista create és get_table parancsok használata

Ez a parancs a következőket irányítja:

  • Mik azok a táblázatra hivatkozó parancsok és hogyan kell használni őket.
  • Különböző HBase shell parancsok használatát és azok szintaxisát fogja biztosítani.
  • A fenti képernyőképen a „create” és a „get_table” parancsok szintaxisa látható a használatukkal együtt. Miután a táblázat létrejött a HBase-ben, ezekkel a parancsokkal manipulálhatjuk a táblázatot.
  • Táblakezelési parancsokat fog adni, mint például a put, get és minden más parancsinformációt.

whoami

Syntax: Whoami

A whoami kimenete alább látható:

A HBase shell whoami parancsa visszaadja az aktuális hduser és csoportokat

A „whoami” parancs a HBase klaszter aktuális HBase felhasználói adatainak visszaadására szolgál. Az alábbi információkat nyújtja:

  • A HBase-ben jelen lévő csoportok.
  • A felhasználói információk; például ebben az esetben a „hduser” a felhasználónevet jelöli, ahogy a képernyőképen is látható.

TTL (Time To Live) – Attribútum

A HBase-ben az oszlopcsaládok időértékei másodpercben állíthatók be a TTL használatával. A HBase automatikusan törli a sorokat a lejárati idő elérésekor. Ez az attribútum a sor összes verziójára vonatkozik, még az aktuális verzióra is.

A HBase-ben a sorhoz kódolt TTL idő UTC-ben van megadva. Ez az attribútum táblakezelési parancsokkal használatos. A TTL-kezelés és az oszlopcsalád TTL-jei közötti fontos különbségek az alábbiakban láthatók:

  • A cella TTL-jeit másodpercek helyett ezredmásodpercben fejezik ki.
  • Egy cella TTL-értéke nem tudja meghosszabbítani egy cella tényleges élettartamát egy oszlopcsalád szintű TTL-beállításon túl.

Tables Managements parancsok

Ezek a parancsok lehetővé teszik a programozók számára, hogy sorokkal és oszlopcsaládokkal rendelkező táblázatokat és táblázatsémákat hozzanak létre. A következők a táblakezelési parancsok:

  • Teremt
  • Lista
  • Írja le
  • Kikapcsolja
  • Disable_all
  • engedélyezése
  • Az összes engedélyezése
  • Csepp
  • Drop_all
  • Szűrők megjelenítése
  • Életkor
  • Alter_status

Vizsgáljuk meg a HBase parancsainak különböző használatát egy példán keresztül.

Teremt

Syntax: create <tablename>, <columnfamilyname>

Példa:-

hbase(main):001:0> create 'education' ,'guru99'
0 rows(s) in 0.312 seconds
=>Hbase::Table – education

A létrehozási parancs eredménye az alábbiakban látható:

HBase shell create parancs az education tábla felépítéséhez a guru99 oszlopcsaláddal

A fenti példa bemutatja, hogyan hozhatunk létre egy táblázatot a HBase-ben az egyes oszlopcsaládok specifikációinak megfelelően megadott névvel. Ezen felül átadhatunk néhány tábla hatókör-attribútumot is. Annak ellenőrzésére, hogy az „oktatás” tábla létrejött-e vagy sem, az alábbi „list” parancsot használjuk. Lásd még: HBase táblák létrehozása Java és héj.

Lista

Syntax:list

A lista kimenete az alábbiakban látható:

HBase shell list parancs, amely nyolc meglévő táblát jelenít meg a HBase-ben

  • A „list” parancs megjeleníti az összes, a HBase-ben jelen lévő vagy létrehozott táblát.
  • A fenti képernyőképen látható kimenet jelenleg a HBase meglévő tábláit mutatja.
  • Itt, ezen a képernyőképen látható, hogy összesen 8 tábla található a HBase-ben.
  • A táblázatok kimeneti értékeit opcionális reguláris kifejezés paraméterek átadásával szűrhetjük.

Írja le

Syntax:describe <table name>
hbase(main):010:0>describe 'education'

A leíró kimenet az alábbiakban látható:

A HBase shell leírja a parancs kimenetét, részletezve az oktatási tábla oszlopcsaládjait.

Ez a parancs a megnevezett táblát írja le.

  • További információkat nyújt az említett táblázatban található oszlopcsaládokról.
  • Esetünkben az „oktatás” táblázat leírását adja meg.
  • Információkat nyújt a tábla nevéről az oszlopcsaládokkal, a kapcsolódó szűrőkkel, verziókkal és néhány további részlettel.

letiltása

Syntax: disable <tablename>
hbase(main):011:0>disable 'education'

A letiltott kimenet az alábbiakban látható:

A HBase shell letiltási parancsa offline állapotba hozza az oktatási táblázatot.

  • Ez a parancs megkezdi a megnevezett tábla letiltását.
  • Ha egy táblát törölni vagy eldobni kell, először le kell tiltani.

Itt, a fenti képernyőképen letiltjuk a tábla oktatását.

disable_all

 Syntax: disable_all<"matching regex"
  • Ez a parancs letiltja az adott reguláris kifejezésnek megfelelő összes táblát.
  • A megvalósítás megegyezik a drop paranccsal (kivéve egy reguláris kifejezés hozzáadását az egyeztetéshez).
  • Miután a tábla letiltásra kerül, a felhasználó törölheti a táblát a HBase-ből.
  • Törlés vagy eldobás előttping egy táblázatot, akkor először le kell tiltani.

engedélyezése

Syntax: enable <tablename>
hbase(main):012:0>enable 'education'

Az engedélyező kimenet az alábbiakban látható:

A HBase shell enable parancs újraaktiválja a letiltott oktatási táblát

  • Ez a parancs elindítja a megnevezett tábla engedélyezését.
  • Bármelyik táblát letiltottuk, annak korábbi állapotába való visszaállításához ezt a parancsot használjuk.
  • Ha egy tábla először letiltásra kerül, és nem törlődik vagy kerül eldobásra, és ha újra szeretnénk használni a letiltott táblát, akkor ezzel a paranccsal kell engedélyeznünk.
  • Itt, a fenti képernyőképen engedélyezzük az „oktatás” táblát.

show_filters

Syntax: show_filters

A show_filters kimenete alább látható:

HBase shell show_filters kimeneti listája az elérhető HBase szűrőkről

Ez a parancs megjeleníti a HBase-ben található összes szűrőt, például a ColumnPrefixFilter, TimestampsFilter, PageFilter, FamilyFilter stb. szűrőket.

csepp

Syntax:drop <table name>
hbase(main):017:0>drop 'education'

A csepp kimenete az alábbiakban látható:

HBase shell drop parancs a letiltott oktatási tábla törlésére

A drop parancsnál a következő pontokat kell figyelembe vennünk:

  • A HBase-ben található tábla törléséhez először le kell tiltanunk azt.
  • A HBase-ben található tábla törléséhez először le kell tiltanunk azt.
  • Tehát egy tábla törléséhez vagy elvetéséhez először le kell tiltani a táblát a disable paranccsal.
  • Itt, a fenti képernyőképen, mi vagyunk a cseppbenping az „oktatás” táblázat.
  • A parancs végrehajtása előtt le kell tiltani az „oktatás” táblát.

drop_all

Syntax: drop_all<"regex">
  • Ez a parancs eldobja az adott reguláris kifejezésnek megfelelő összes táblát.
  • A parancs végrehajtása előtt először le kell tiltani a táblázatokat a disable_all használatával.
  • A reguláris kifejezéseket tartalmazó táblázatok el lesznek távolítva a HBase-ből.

engedélyezve

Syntax: is_enabled 'education'

Ez a parancs ellenőrzi, hogy a megnevezett tábla engedélyezve van-e vagy sem. Általában van egy kis félreértés az „enable” és az „is_enabled” parancsműveletek között, amit itt tisztázunk:

  • Tegyük fel, hogy egy tábla le van tiltva; a használatához engedélyeznünk kell azt az enable paranccsal.
  • Az is_enabled parancs ellenőrzi, hogy a tábla engedélyezve van-e vagy sem.

változtat

Syntax: alter <tablename>, NAME=><column familyname>, VERSIONS=>5

Ez a parancs módosítja az oszlopcsalád sémáját. Hogy megértsük, pontosan mit is csinál, itt egy példával magyaráztuk el.

Példák: Ezekben a példákban alter parancs műveleteket fogunk végrehajtani táblákon és azok oszlopain. Az alábbi műveletekhez hasonlókat fogunk végrehajtani:

  • Egy- és többoszlopos családnevek módosítása.
  • Oszlopcsaládok nevének törlése egy táblázatból.
  • Számos egyéb művelet, amelyek hatókör-attribútumokat használnak egy táblázattal.

A 'guru99_1' oszlopcsalád módosítása vagy hozzáadása az 'education' táblában a jelenlegi értékről a maximum 5 cellaVERZIÓ megtartása érdekében. Itt az „education” a korábban a „guru99” oszlopnévvel létrehozott tábla neve. Egy alter parancs segítségével megpróbáljuk az oszlopcsalád sémáját guru99_1-re módosítani a guru99-ről, az alábbiak szerint:

A HBase shell alter parancsa az oktatási tábla oszlopcsaládját guru99_1-re módosítja.

hbase> alter 'education', NAME='guru99_1', VERSIONS=>5

Az alter parancsot több oszlopcsaládon is futtathatod. Például két új oszlopot fogunk definiálni a meglévő „oktatás” táblánkhoz, az alábbiak szerint:

A HBase shell alter parancsa két új oszlopcsaládot ad hozzá: guru99_2 és guru99_3

 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}
  • Ezzel a paranccsal egyszerre több oszlopsémát is módosíthatunk.
  • A fenti képernyőképen látható módon a guru99_2 és a guru99_3 a két új oszlopnév, amelyeket az oktatási tábla számára definiáltunk.
  • A parancs használatának módját az előző képernyőképen láthatjuk.

Ebben a lépésben megnézzük, hogyan törölhetünk egy oszlopcsaládot a táblázatból. Az „f1” oszlopcsalád törléséhez az „oktatás” táblában használjuk az alábbi parancsok egyikét. Az eredmény a következő képernyőképen látható:

HBase shell alter parancs oszlopcsalád törlése az oktatási táblából

hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1'

Ebben a parancsban megpróbáljuk törölni a guru99_1 nevű oszlopterületet, amelyet korábban az első lépésben hoztam létre. Amint az alábbi képernyőképeken látható, két lépést mutat be: hogyan módosítható egy tábla hatókör attribútum, és hogyan távolítható el a tábla hatókör attribútum.

A HBase shell alter parancsa a MAX_FILESIZE tábla hatókör attribútumának beállításához

Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'

1. lépés) Módosíthatja a tábla hatókörének attribútumait, például a MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH stb. értékeket. Ezeket a végére lehet írni; például egy régió maximális méretének 128 MB-ra vagy bármilyen más memóriaértékre való módosításához ezt a parancsot használjuk.

Használat:

  • A MAX_FILESIZE függvényt a táblázat hatókör-attribútumaként használhatjuk, a fentiekhez hasonlóan.
  • A MAX_FILESIZE paraméterben szereplő szám bájtban megadott memóriaméretet jelent.

MEGJEGYZÉS: A MAX_FILESIZE tábla hatókörét a HBase-ben található néhány attribútum határozza meg. A MAX_FILESIZE a tábla hatókör attribútumai közé is tartozik.

2. lépés) A table-scope attribútumot a table_att_unset metódussal is eltávolíthatja. Lásd az alábbi parancsot:

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • A fenti képernyőkép a módosított táblanevet mutatja a hatókör attribútumaival.
  • A table_att_unset metódus a táblában található attribútumok törlésére szolgál.
  • A második esetben a MAX_FILESIZE attribútumot állítjuk vissza.
  • A parancs végrehajtása után egyszerűen törli a MAX_FILESIZE attribútumot az „oktatás” táblából.

alter_status

 Syntax: alter_status 'education'

Az alter_status kimenete alább látható:

A HBase shell alter_status parancsa egy frissített régió egyikét mutatja.

  • Ezzel a paranccsal lekérdezhetjük az alter parancs állapotát.
  • Ez jelzi a táblázat azon régióinak számát, amelyek megkapták a frissített sémát. Átadja a táblázat nevét.
  • A fenti képernyőképen az 1/1 régió frissítése látható. Ez azt jelenti, hogy egy régió frissült. Ha a frissítés sikeres, akkor a „kész” megjegyzés jelenik meg.

Adatkezelési parancsok

Ezek a parancsok a táblázaton dolgoznak adatkezeléshez, például adatok táblázatba helyezéséhez, adatok táblázatból való lekéréséhez és séma törléséhez stb. Az ezekhez tartozó parancsok a következők:

  • Gróf
  • Tedd
  • Kap
  • Törölni
  • Mindet törölni
  • Csonka
  • Keresés

Vizsgáljuk meg ezeket a parancshasználatokat egy példán keresztül. Lásd még: HBase adatok olvasása és írása.

Gróf

Syntax: count <'tablename'>, CACHE =>1000
  • A parancs lekéri a táblázat sorainak számát. A visszaadott érték a sorok száma.
  • Az aktuális darabszám alapértelmezés szerint 1000 soronként jelenik meg.
  • A számlálási intervallum opcionálisan megadható.
  • Az alapértelmezett gyorsítótár mérete 10 sor.
  • A count parancs gyorsan fog működni, ha a megfelelő gyorsítótárral van konfigurálva.

Példa:

hbase> count 'guru99', CACHE=>1000

A számláló kimenete az alábbiakban látható:

A HBase shell count parancs a guru99 tábla sorszámát adja vissza.

Ez a példaszámláló egyszerre 1000 sort kér le a „guru99” táblából. A gyorsítótár értékét alacsonyabbra állíthatjuk, ha a tábla több sorból áll. De alapértelmezés szerint egyszerre csak egy sort kér le.

hbase>count 'guru99', INTERVAL => 100000
hbase> count 'guru99', INTERVAL =>10, CACHE=> 1000

Tegyük fel, hogy a „guru99” táblának van valamilyen táblahivatkozása, például a g. A count parancsot a táblahivatkozáson is futtathatjuk, az alábbiak szerint:

hbase>g.count INTERVAL=>100000
hbase>g.count INTERVAL=>10, CACHE=>1000

Tedd

Syntax:  put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>

Ez a parancs a következő dolgokra használható:

  • Ez egy cella "értékét" helyezi egy meghatározott vagy megadott táblázatba, sorba vagy oszlopba.
  • Opcionálisan koordinál egy időbélyeget.

Példa: Itt értékeket helyezünk a „guru99” táblába az r1 sor és a c1 oszlop alá.

hbase> put 'guru99', 'r1', 'c1', 'value', 10

Három értéket, 10-et, 15-öt és 30-at helyeztünk el a „guru99” táblázatban, ahogy az az alábbi képernyőképen is látható.

A HBase shell put parancsa a 10, 15 és 30 értékeket illeszti be a guru99 táblába.

Tegyük fel, hogy a „guru99” táblának van valamilyen táblahivatkozása, például a g. A parancsot a táblahivatkozáson is futtathatjuk, például:

hbase> g.put 'guru99', 'r1', 'c1', 'value', 10

A kimenet a fenti képernyőképen látható lesz, miután értékeket helyeztünk a „guru99” táblába. Annak ellenőrzésére, hogy a bemeneti érték megfelelően lett-e beillesztve a táblázatba, a „scan” parancsot használjuk. Az alábbi képernyőképen látható, hogy az értékek helyesen lettek beillesztve.

A HBase shell vizsgálat kimenete megerősíti a guru99 táblába beszúrt értékeket.

Code Részlet: Gyakorlás céljából

create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
put 'guru99', 'r1', 'Edu:c1', 'value', 10
put 'guru99', 'r1', 'Edu:c1', 'value', 15
put 'guru99', 'r1', 'Edu:c1', 'value', 30

A kódrészletből a következőket tesszük:

  • Itt létrehozunk egy „guru99” nevű táblázatot, amelynek oszlopneve „Edu”.
  • A „put” parancs használatával értékeket helyezünk el a „guru99” tábla „Edu” oszlopának r1 nevű sorában.

Kap

Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}

Itt, Tartalmazza a TIMERANGE, TIMESTAMP, VERSIONS és FILTERS paramétereket. Ezzel a paranccsal lekérheti a táblázatban található sorok vagy cella tartalmát. Ezenkívül további paramétereket is hozzáadhat, például TIMESTAMP, TIMERANGE, VERSIONS, FILTERS stb., hogy egy adott sor vagy cella tartalmát lekérje.

Az alábbi get kimenet az r1 sor és a c1 oszlop értékeit adja vissza:

A HBase shell get parancs a guru99 táblából visszaadja az r1 sort és a c1 oszlopot.

Példák: -

hbase> get 'guru99', 'r1', {COLUMN => 'c1'}

A „guru99” tábla r1 sorának és c1 oszlopának értékei jelennek meg a parancs használatával, a fenti képernyőképen látható módon.

hbase> get 'guru99', 'r1'

A „guru99” tábla r1 sorának értékei jelennek meg ezzel a paranccsal.

hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}

A „guru99” tábla r1 sorában a ts1 és ts2 közötti időtartományban lévő értékek jelennek meg ezzel a paranccsal.

hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}

A „guru99” tábla r1 sorának és a c1, c2 és c3 oszlopcsaládok értékei jelennek meg ezzel a paranccsal.

Törölni

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • Ez a parancs törli a cella értékét egy meghatározott sorban vagy oszlopban lévő táblázatban.
  • A törlésnek pontosan meg kell egyeznie a törölt cella koordinátáival.
  • Szkenneléskor a törlési cella letiltja az értékek régebbi verzióit.

Példa: Az alábbi törlési parancs eltávolítja az r1 és c1 cellákat a guru99 táblából:

HBase shell törlési parancs az r1 c1 cella eltávolítására a guru99 táblából

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
  • A fenti végrehajtás törli az r1 sort a „guru99” tábla c1 oszlopcsaládjából.
  • Tegyük fel, hogy a „guru99” táblának van valamilyen táblahivatkozása, például a g.
  • A parancsot a táblahivatkozáson is futtathatjuk, például: hbase> g.delete 'guru99', 'r1', 'c1′”.

mindet törölni

Syntax: deleteall <'tablename'>, <'rowname'>
  • Ez a parancs egy adott sor összes celláját törli.
  • Opcionálisan definiálhatunk oszlopneveket és időbélyeget a szintaxisban.

Példa: - Az alábbi deleteall parancs eltávolítja az r1 sor összes celláját:

A HBase shell deleteall parancsa eltávolítja az összes cellát a guru99 tábla r1 sorában

hbase>deleteall 'guru99', 'r1', 'c1'

Ez törli a táblázat összes sorát és oszlopát. Opcionálisan megadhatjuk az oszlopneveket is.

Csonka

Syntax:  truncate <tablename>

Az alábbi truncate parancs kiüríti a táblát, miközben keeping a sémája:

HBase shell csonkítás parancs letiltása, eldobásping, és a guru99 tábla újraalkotása

Egy HBase tábla csonkolása után a séma jelen lesz, de a rekordok nem. Ez a parancs 3 funkciót hajt végre; ezek az alábbiakban felsoroltak:

  • Letiltja a táblát, ha már létezik.
  • Elveti a táblát, ha már létezik.
  • Újra létrehozza az említett táblázatot.

Keresés

Syntax: scan <'tablename'>, {Optional parameters}

Ez a parancs átvizsgálja a teljes táblázatot, és megjeleníti a táblázat tartalmát.

  • Számos opcionális specifikációt adhatunk át ennek a vizsgálati parancsnak, hogy további információkat kapjunk a rendszerben található táblákról.
  • A lapolvasó specifikációi az alábbi attribútumok közül egyet vagy többet tartalmazhatnak.
  • Ezek a következők: TIMERANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW és STOPROW.
scan 'guru99'

A szkennelési kimenet az alábbiakban látható:

A HBase shell scan parancs a guru99 tábla r1, r2 és r3 sorait jeleníti meg.

A fenti képernyőképen:

  • Megjeleníti a „guru99” táblát az oszlopnevekkel és értékekkel.
  • Három sorértékből áll, r1, r2 és r3, az egyetlen c1 oszlopértékhez.
  • Megjeleníti a sorokhoz tartozó értékeket.

Példák: - A scan parancs különböző felhasználási módjai:

parancs Használat
beolvasás '.META.', {COLUMNS => 'info:regioninfo'} Megjeleníti a HBase táblázataiban található oszlopokhoz kapcsolódó összes metaadat-információt.
beolvasás 'guru99', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'} Megjeleníti a guru99 tábla tartalmát a c1 és c2 oszlopcsaládokkal együtt, az értékeket 10-re korlátozva.
scan 'guru99', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]} Megjeleníti a guru99 tartalmát a c1 oszlopnévvel, az említett időtartomány attribútumértéke között jelen lévő értékekkel.
beolvasás 'guru99', {RAW => true, VERSIONS =>10} Ebben a parancsban a RAW=> true egy speciális funkciót biztosít, például a guru99 táblában található összes cellaérték megjelenítését.

Code Példa: Először hozzon létre egy táblázatot, és helyezzen el értékeket a táblázatban. A bemenet az alábbi képernyőképen látható:

HBase shell bemenet a guru99 tábla létrehozásához és verziózott értékek beszúrásához egy nyers vizsgálat előtt

create 'guru99', {NAME=>'e', VERSIONS=>2147483647}
put 'guru99', 'r1', 'e:c1', 'value', 10
put 'guru99', 'r1', 'e:c1', 'value', 12
put 'guru99', 'r1', 'e:c1', 'value', 14
delete 'guru99', 'r1', 'e:c1', 11

Ha lefuttatjuk a scan parancsot:

Query: scan 'guru99', {RAW=>true, VERSIONS=>1000}

Az alább látható kimenetet fogja megjeleníteni:

A HBase shell nyers vizsgálati kimenete több cellaverziót jelenít meg, beleértve egy törölt értéket is.

A fenti képernyőképen látható kimenet a következő információkat tartalmazza:

  • A guru99 tábla beolvasása RAW=>true, VERSIONS=>1000 attribútumokkal.
  • Oszlopcsaládokkal és értékekkel rendelkező sorok megjelenítése.
  • A harmadik sorban a megjelenített értékek az oszlopban lévő törölt értéket mutatják.
  • A megjelenített kimenet véletlenszerű; nem lehet ugyanabban a sorrendben, mint a táblázatba beszúrt értékek.

Cluster Replikációs parancsok

  • Ezek a parancsok a HBase fürtbeállítási módjában működnek.
  • Ezeket a parancsokat általánosságban használják peer-ek hozzáadására és eltávolítására egy fürtből, valamint a replikáció elindítására és leállítására.
parancs Funkcionalitás
add_peer Hozzáadja a partnereket egy fürthöz a replikáláshoz.
hbase> add_peer '3', zk1,zk2,zk3:2182:/hbase-prod
Remove_peer Leállítja a meghatározott replikációs adatfolyamot, és törli a partnerrel kapcsolatos összes metaadat-információt.
hbase> remove_peer '1'
start_replication Újraindítja az összes replikációs funkciót.
hbase> start_replication
stop_replication Leállítja az összes replikációs funkciót.
hbase>stop_replication

GYIK

Írja be az exit vagy a quit parancsot, és nyomja meg az Enter billentyűt az interaktív HBase shell elhagyásához és az operációs rendszer parancssorába való visszatéréshez. A shellt a hbase shell paranccsal nyithatja meg. Sem az exit, sem a quit parancs nem állítja le a HBase szolgáltatást; csak a shell munkamenetet fejezik be.

Igen. Parancsokat nem interaktív módon is be lehet irányítani, például az echo „list” | hbase shell parancsot, vagy egy mentett fájlt a hbase shell script.txt paranccsal lehet futtatni. Mivel a shell JRuby alapú, Ruby logikát és ciklusokat is beágyazhatsz az .rb szkriptfájlokba.

A shell egy interaktív JRuby prompt a gyors manuális parancsokhoz és az adminisztrációhoz. Java A Connection, Admin és Table API-t olyan alkalmazásokhoz használjuk, amelyek programozottan hoznak létre táblázatokat, és programozottan olvasnak vagy írnak adatokat. Mindkettő ugyanazt a HBase-klasztert és adatot éri el.

A „Table already exists” hiba akkor jelenik meg, ha a create parancs ismétlődik egy létező névvel, és a „Table not disabled” hiba akkor jelenik meg, ha a `table not disabled` parancsot letiltás nélkül töröljük vagy módosítjuk. A `drop` vagy `alter` parancs futtatása előtt futtassa a disable 'table' parancsot, és a `exists 'table' paranccsal ellenőrizze a nevet a létrehozása előtt.

Egy HBase oszlopcsalád cellánként korlátozott számú időbélyeggel ellátott verziót tárol, régebben hármat, az újabb kiadásokban pedig egyet. A számot a VERSIONS paraméterrel kell beállítani létrehozáskor vagy módosításkor, és a régebbi verziókat a {VERSIONS => n} paraméterrel kell lekérdezni egy get vagy scan parancsban.

Egy táblahivatkozási változó egy shell objektum, amelyet a g = get_table 'guru99' metódus ad vissza. Ezután metódusokat hívhatsz meg rajta, például g.put, g.get vagy g.count metódust, a tábla nevének ismétlése helyett. Ez egy kényelmes, JRuby stílusú gyorsbillentyű a HBase shellben.

A mesterséges intelligencia által vezérelt kódolási asszisztensek és a nagy nyelvi modellek egyszerű nyelvi kérésekből generálnak HBase shell parancsokat, elmagyarázzák az olyan ismeretlen opciókat, mint a keresési szűrők vagy a TTL, és segítenek a hibák elhárításában. A gépi tanulás a fürtmetrikákat is elemzi a replikáció és a régió finomhangolásának irányításához, bár egy mérnöknek minden parancsot ellenőriznie kell.

Igen. GitHub másodpilóta HBase shell parancsokat és JRuby szkripteket javasol egy rövid megjegyzésből, beleértve a létrehozás, put, scan és alter példákat. RevMielőtt egy valódi fürtön futtatná, ellenőrizze a kimenetét a helyes táblanév, oszlopcsaládok és szintaxis (például VERSIONS) szempontjából.

Foglald össze ezt a bejegyzést a következőképpen: