HBase Shell naredbe s primjerima

โšก Pametni saลพetak

Naredbe HBase ljuske omoguฤ‡uju vam upravljanje tablicama i podacima izravno iz interaktivnog prompta, grupiranih u opฤ‡e naredbe, naredbe za upravljanje tablicama kao ลกto su create i drop, naredbe za manipulaciju podacima kao ลกto su put i get te naredbe za replikaciju klastera.

  • ๐Ÿ–ฅ๏ธ Opฤ‡e naredbe: status, version, table_help i whoami izvjeลกtavaju o stanju klastera i korisniฤkim informacijama.
  • ๐Ÿ—‚๏ธ Upravljanje tablicama: stvarati, nabrajati, opisivati, onemoguฤ‡avati, omoguฤ‡avati, uklanjati i mijenjati, izraฤ‘ivati โ€‹โ€‹i preoblikovati tablice.
  • โœ๏ธ Manipulacija podacima: stavlja, dohvaฤ‡a, briลกe, briลกe sve, skraฤ‡uje, prebrojava i skenira ฤita i piลกe vrijednosti ฤ‡elija.
  • ๐Ÿ” Cluster replikacija: add_peer, remove_peer, start_replication i stop_replication upravljaju replikacijom podataka.
  • โณ TTL atribut: Vrijeme do kraja rada automatski istjeฤe retke obitelji stupaca nakon odreฤ‘enog broja sekundi.
  • ๐Ÿค– Pomoฤ‡ umjetne inteligencije: AI asistenti generiraju i objaลกnjavaju HBase shell naredbe iz jednostavnih uputa.

HBase shell naredbe s primjerima za tablice, podatke i replikaciju klastera

Kako komunicirati s HBaseom pomoฤ‡u Shell naredbi i Java API

Nakon uspjeลกne instalacije HBase-a preko Hadoop-a, dobivamo interaktivnu ljusku za izvrลกavanje raznih naredbi i izvoฤ‘enje nekoliko operacija. Pomoฤ‡u tih naredbi moลพemo izvoditi viลกe operacija na tablicama podataka ลกto daje bolju uฤinkovitost pohrane podataka i fleksibilnu interakciju za klijenta.

S HBaseom moลพemo komunicirati na dva naฤina:

  • interaktivni naฤin rada ljuske HBase-a i
  • Kroz Java API-ja.

U HBaseu se interaktivni naฤin rada ljuske koristi za interakciju s HBaseom za operacije s tablicama, upravljanje tablicama i modeliranje podataka. Koriลกtenje Java API model, moลพemo izvoditi sve vrste operacija s tablicama i podacima u HBaseu. Moลพemo komunicirati s HBaseom koristeฤ‡i obje ove metode. Jedina razlika izmeฤ‘u njih je u tome ลกto Java Upotreba API-ja Java kod za povezivanje s HBase-om, dok shell naฤin rada koristi shell naredbe za povezivanje s HBase-om.

Kratak pregled HBase prije nego ลกto nastavimo:

  • HBase koristi Hadoop datoteke kao sustav za pohranu velikih koliฤina podataka. HBase se sastoji od glavnih posluลพitelja i regionalnih posluลพitelja.
  • Podaci koji ฤ‡e biti pohranjeni u HBaseu bit ฤ‡e u obliku regija. Nadalje, te ฤ‡e regije biti podijeljene i pohranjene na viลกe regionalnih posluลพitelja.
  • Ove shell naredbe omoguฤ‡uju programeru definiranje shema tablica i operacija s podacima koriลกtenjem potpune interakcije u shell naฤinu rada.
  • Koju god naredbu koristimo, ona ฤ‡e se odraziti u HBase podatkovnom modelu.
  • Naredbe HBase ljuske koristimo u interpreterima skripti operacijskog sustava poput Bash ljuske.
  • Bash ljuska je zadani interpreter naredbi za veฤ‡inu Linux i distribucije Unix operativnih sustava.
  • Napredne verzije HBase-a pruลพaju naredbe ljuske s referencama za tablice u objektno orijentiranom stilu u JRuby stilu.
  • Varijable referentne tablice mogu se koristiti za izvoฤ‘enje operacija s podacima u HBase shell naฤinu rada.

Na primjer:

  • U ovom tutorialu kreirali smo tablicu u kojoj 'education' predstavlja naziv tablice i odgovara nazivu stupca โ€žguru99โ€œ.
  • U nekim naredbama, sam "guru99" predstavlja naziv tablice.

Opฤ‡e zapovijedi

U HBaseu, opฤ‡e naredbe su kategorizirane u sljedeฤ‡e naredbe:

  • Status
  • Verzija
  • Table_help ( skeniraj, ispusti, dohvati, stavi, onemoguฤ‡i itd.)
  • Tko sam ja

Za ulazak u HBase shell naredbu, prvo moramo izvrลกiti kod kao ลกto je dolje navedeno.

hbase Shell

Nakon ลกto uฤ‘emo u HBase shell, moลพemo izvrลกiti sve dolje navedene naredbe shell-a. Pomoฤ‡u ovih naredbi moลพemo izvoditi sve vrste operacija s tablicama u HBase shell modu. Interaktivni shell prompt pojavljuje se kao ลกto je prikazano dolje:

Interaktivni HBase shell prompt otvoren pomoฤ‡u hbase shell naredbe

Pogledajmo sve te naredbe i njihovu upotrebu jednu po jednu s primjerom.

Status

Syntax:status

Ova naredba ฤ‡e dati detalje o statusu sustava, poput broja posluลพitelja prisutnih u klasteru, broja aktivnih posluลพitelja i prosjeฤne vrijednosti optereฤ‡enja. Takoฤ‘er moลพete proslijediti odreฤ‘ene parametre ovisno o tome koliko detaljan status ลพelite znati o sustavu. Parametri mogu biti 'saลพetak', 'jednostavan' ili 'detailni'; zadani parametar je "saลพetak".

U nastavku smo pokazali kako moลพete proslijediti razliฤite parametre naredbi status. Ako pogledamo snimku zaslona u nastavku, dobit ฤ‡emo bolju ideju.

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

Izlaz statusa prikazan je u nastavku:

Izlaz naredbe statusa HBase ljuske koji prikazuje aktivne posluลพitelje, neaktivne posluลพitelje i prosjeฤno optereฤ‡enje

Kada izvrลกimo ovu naredbu statusa, ona daje informacije o broju prisutnih posluลพitelja, neaktivnih posluลพitelja i prosjeฤnom optereฤ‡enju posluลพitelja. Ovdje snimka zaslona prikazuje informacije poput 1 aktivnog posluลพitelja, 1 neaktivnog posluลพitelja i prosjeฤnog optereฤ‡enja od 7.0000.

Verzija

Syntax: version

Izlaz verzije prikazan je u nastavku:

Naredba HBase shell version koja prikazuje instaliranu HBase verziju

  • Ova naredba ฤ‡e prikazati trenutno koriลกtenu verziju HBase-a u naredbenom naฤinu rada.
  • Ako pokrenete naredbu version, dobit ฤ‡ete izlaz kao ลกto je prikazano gore.

Pomoฤ‡ u tablici

Syntax:table_help

Izlaz table_help prikazan je u nastavku:

Popis izlaza HBase shell table_help koriลกtenje naredbi create i get_table

Ova naredba vodi:

  • ล to su naredbe koje se referenciraju na tablice i kako ih koristiti.
  • Pruลพit ฤ‡e razliฤite upotrebe HBase shell naredbi i njihove sintakse.
  • Ovdje, na gornjoj snimci zaslona, โ€‹โ€‹prikazana je sintaksa naredbi "create" i "get_table" s njihovom upotrebom. Tablicom moลพemo manipulirati putem ovih naredbi nakon ลกto se tablica kreira u HBaseu.
  • Dat ฤ‡e naredbe za manipulaciju tablicama poput put, get i svih ostalih informacija o naredbama.

Tko sam

Syntax: Whoami

Izlaz whoami programa prikazan je u nastavku:

HBase shell whoami naredba vraฤ‡a trenutnog hdusera i grupe

Naredba โ€žwhoamiโ€œ koristi se za vraฤ‡anje trenutnih korisniฤkih podataka HBase-a iz HBase klastera. Pruลพit ฤ‡e informacije poput:

  • Grupe prisutne u HBaseu.
  • Podaci o korisniku; na primjer, u ovom sluฤaju โ€žhduserโ€œ predstavlja korisniฤko ime kao ลกto je prikazano na snimci zaslona.

TTL (Time To Live) โ€“ Atribut

U HBaseu, obitelji stupaca mogu se postaviti na vremenske vrijednosti u sekundama pomoฤ‡u TTL-a. HBase ฤ‡e automatski izbrisati retke nakon ลกto se dostigne vrijeme isteka. Ovaj atribut primjenjuje se na sve verzije retka, ฤak i na trenutnu verziju.

TTL vrijeme kodirano u HBaseu za redak navedeno je u UTC-u. Ovaj atribut se koristi s naredbama za upravljanje tablicama. Vaลพne razlike izmeฤ‘u rukovanja TTL-om i TTL-ova obitelji stupaca su u nastavku:

  • TTL ฤ‡elije izraลพavaju se u jedinicama milisekundi umjesto u sekundama.
  • TTL ฤ‡elije ne moลพe produลพiti efektivni vijek trajanja ฤ‡elije izvan postavke TTL-a na razini obitelji stupaca.

Naredbe za upravljanje tablicama

Ove naredbe ฤ‡e omoguฤ‡iti programerima stvaranje tablica i shema tablica s obiteljima redaka i stupaca. Slijede naredbe za upravljanje tablicama:

  • stvoriti
  • Popis
  • Opisati
  • Onesposobiti
  • Onemoguฤ‡i sve
  • Omoguฤ‡i
  • Omoguฤ‡i_sve
  • Ispustiti
  • Ispusti_sve
  • Prikaลพi_filtre
  • Starost
  • Promjena_statusa

Pogledajmo razliฤite upotrebe naredbi u HBaseu s primjerom.

stvoriti

Syntax: create <tablename>, <columnfamilyname>

Primjer:-

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

Rezultat naredbe za stvaranje prikazan je u nastavku:

Naredba HBase shell create za izgradnju tablice obrazovanja s obitelji stupaca guru99

Gornji primjer objaลกnjava kako stvoriti tablicu u HBaseu s navedenim nazivom danim prema specifikacijama za svaku obitelj stupaca. Osim toga, moลพemo joj proslijediti i neke atribute opsega tablice. Kako bismo provjerili je li tablica 'education' stvorena ili ne, koristimo naredbu "list" u nastavku. Vidi takoฤ‘er stvaranje HBase tablica s Java i ljuska.

Popis

Syntax:list

Izlaz liste prikazan je u nastavku:

Naredba HBase shell list prikazuje osam postojeฤ‡ih tablica u HBaseu

  • Naredba "list" ฤ‡e prikazati sve tablice koje su prisutne ili kreirane u HBaseu.
  • Izlaz prikazan na gornjoj snimci zaslona trenutno prikazuje postojeฤ‡e tablice u HBaseu.
  • Ovdje, na ovoj snimci zaslona, โ€‹โ€‹โ€‹โ€‹pokazuje se da unutar HBasea postoji ukupno 8 tablica.
  • Izlazne vrijednosti iz tablica moลพemo filtrirati prosljeฤ‘ivanjem opcionalnih parametara regularnog izraza.

Opisati

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

Izlaz opisa prikazan je u nastavku:

HBase ljuska opisuje izlaz naredbe s detaljima o obiteljima stupaca tablice obrazovanja

Ova naredba opisuje imenovanu tablicu.

  • To ฤ‡e dati viลกe informacija o obiteljima stupaca prisutnim u spomenutoj tablici.
  • U naลกem sluฤaju, daje opis tablice โ€žobrazovanjeโ€œ.
  • Pruลพit ฤ‡e informacije o nazivu tablice s obiteljima stupaca, povezanim filterima, verzijama i joลก nekim detaljima.

onesposobiti

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

Izlaz za onemoguฤ‡avanje prikazan je u nastavku:

Naredba za onemoguฤ‡avanje HBase shell-a koja iskljuฤuje tablicu obrazovanja iz mreลพe

  • Ova naredba ฤ‡e zapoฤeti onemoguฤ‡avanje imenovane tablice.
  • Ako tablicu treba izbrisati ili ukloniti, prvo je treba onemoguฤ‡iti.

Ovdje, na gornjoj snimci zaslona, โ€‹โ€‹onemoguฤ‡ujemo edukaciju o tablicama.

onemoguฤ‡i sve

 Syntax: disable_all<"matching regex"
  • Ova naredba ฤ‡e onemoguฤ‡iti sve tablice koje odgovaraju danom regularnom izrazu.
  • Implementacija je ista kao i kod naredbe drop (osim dodavanja regularnog izraza za podudaranje).
  • Nakon ลกto se tablica onemoguฤ‡i, korisnik je moลพe izbrisati iz HBasea.
  • Prije brisanja ili ispuลกtanjaping tablicu, prvo je treba onemoguฤ‡iti.

Omoguฤ‡i

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

Izlaz za omoguฤ‡avanje prikazan je u nastavku:

Naredba HBase shell enable ponovno aktivira onemoguฤ‡enu tablicu obrazovanja

  • Ova naredba ฤ‡e zapoฤeti omoguฤ‡avanje imenovane tablice.
  • Bez obzira koja je tablica onemoguฤ‡ena, za vraฤ‡anje u prethodno stanje koristimo ovu naredbu.
  • Ako je tablica u prvom sluฤaju onemoguฤ‡ena i nije izbrisana ili odbaฤena, te ako ลพelimo ponovno upotrijebiti onemoguฤ‡enu tablicu, moramo je omoguฤ‡iti pomoฤ‡u ove naredbe.
  • Ovdje, na gornjoj snimci zaslona, โ€‹โ€‹omoguฤ‡avamo tablicu โ€žobrazovanjeโ€œ.

prikaลพi filtre

Syntax: show_filters

Izlaz funkcije show_filters prikazan je u nastavku:

Izlaz HBase ljuske show_filters prikazuje popis dostupnih HBase filtera

Ova naredba prikazuje sve filtere prisutne u HBaseu, kao ลกto su ColumnPrefixFilter, TimestampsFilter, PageFilter, FamilyFilter itd.

ispustiti

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

Izlaz pada prikazan je u nastavku:

Naredba HBase shell drop briลกe onemoguฤ‡enu tablicu obrazovanja

Moramo se pridrลพavati sljedeฤ‡ih toฤaka za naredbu drop:

  • Da bismo izbrisali tablicu prisutnu u HBaseu, prvo je moramo onemoguฤ‡iti.
  • Da bismo uklonili tablicu prisutnu u HBaseu, prvo je moramo onemoguฤ‡iti.
  • Dakle, da biste uklonili ili izbrisali tablicu, prvo je treba onemoguฤ‡iti pomoฤ‡u naredbe disable.
  • Ovdje, na gornjoj snimci zaslona, โ€‹โ€‹mi smo ispuลกteniping tablica โ€žobrazovanjeโ€œ.
  • Prije izvrลกavanja ove naredbe, potrebno je iskljuฤiti tablicu โ€žedukacijaโ€œ.

ispusti_sve

Syntax: drop_all<"regex">
  • Ova naredba ฤ‡e ukloniti sve tablice koje odgovaraju zadanom regularnom izrazu.
  • Tablice prvo moraju biti onemoguฤ‡ene, prije izvrลกavanja ove naredbe, pomoฤ‡u disable_all.
  • Tablice s izrazima koji se podudaraju s regularnim izrazima bit ฤ‡e izostavljene iz HBasea.

je_omoguฤ‡eno

Syntax: is_enabled 'education'

Ova naredba ฤ‡e provjeriti je li imenovana tablica omoguฤ‡ena ili ne. Obiฤno postoji mala zbrka izmeฤ‘u radnji naredbi โ€žomoguฤ‡iโ€œ i โ€žis_enabledโ€œ, ลกto ovdje razjaลกnjavamo:

  • Pretpostavimo da je tablica onemoguฤ‡ena; da bismo je koristili, moramo je omoguฤ‡iti pomoฤ‡u naredbe enable.
  • Naredba is_enabled provjerit ฤ‡e je li tablica omoguฤ‡ena ili ne.

mijenjati

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

Ova naredba mijenja shemu obitelji stupaca. Da biste razumjeli ลกto toฤno radi, ovdje smo to objasnili na primjeru.

Primjeri: U ovim primjerima, izvrลกit ฤ‡emo operacije naredbe alter na tablicama i njihovim stupcima. Izvrลกit ฤ‡emo operacije poput:

  • Promjena naziva obitelji jednog i viลกe stupaca.
  • Brisanje naziva obitelji stupaca iz tablice.
  • Nekoliko drugih operacija koje koriste atribute opsega s tablicom.

Za promjenu ili dodavanje obitelji stupaca 'guru99_1' u tablici 'education' iz trenutne vrijednosti kako bi se zadrลพalo maksimalno 5 VERZIJA ฤ‡elija. Ovdje je "education" naziv tablice stvorene s nazivom stupca "guru99" prethodno. Pomoฤ‡u naredbe alter pokuลกavamo promijeniti shemu obitelji stupaca u guru99_1 iz guru99, kao ลกto je prikazano u nastavku:

Naredba HBase shell alter mijenja obitelj stupaca tablice obrazovanja u guru99_1

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

Naredbu alter moลพete primijeniti i na nekoliko obitelji stupaca. Na primjer, definirat ฤ‡emo dva nova stupca za naลกu postojeฤ‡u tablicu โ€žeducationโ€œ, kao ลกto je prikazano u nastavku:

Naredba HBase shell alter dodaje dvije nove obitelji stupaca guru99_2 i guru99_3

 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}
  • Pomoฤ‡u ove naredbe moลพemo istovremeno promijeniti viลกe shema stupaca.
  • guru99_2 i guru99_3, kao ลกto je prikazano na gornjoj snimci zaslona, โ€‹โ€‹dva su nova naziva stupaca koje smo definirali za tablicu edukacije.
  • Naฤin koriลกtenja ove naredbe moลพemo vidjeti na prethodnoj snimci zaslona.

U ovom koraku ฤ‡emo vidjeti kako izbrisati obitelj stupaca iz tablice. Za brisanje obitelji stupaca 'f1' u tablici 'education', upotrijebite jednu od ovih naredbi u nastavku. Rezultat je prikazan na sljedeฤ‡oj snimci zaslona:

Naredba HBase shell alter briลกe obitelj stupaca iz tablice obrazovanja

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

U ovoj naredbi pokuลกavamo izbrisati prostor stupaca pod nazivom guru99_1 koji smo prethodno stvorili u prvom koraku. Kao ลกto je prikazano na donjim snimkama zaslona, โ€‹โ€‹prikazana su dva koraka: kako promijeniti atribut opsega tablice i kako ukloniti atribut opsega tablice.

Naredba za promjenu ljuske HBase koja postavlja atribut opsega tablice MAX_FILESIZE

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

Korak 1) Moลพete promijeniti atribute opsega tablice kao ลกto su MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH itd. Oni se mogu staviti na kraj; na primjer, za promjenu maksimalne veliฤine regije na 128 MB ili bilo koju drugu vrijednost memorije koristimo ovu naredbu.

Upotreba:

  • Moลพemo koristiti MAX_FILESIZE s tablicom kao atribut opsega, kao ลกto je gore navedeno.
  • Broj predstavljen u MAX_FILESIZE izraลพen je u memoriji u bajtovima.

NAPOMENA: Opseg tablice MAX_FILESIZE bit ฤ‡e odreฤ‘en nekim atributima prisutnima u HBaseu. MAX_FILESIZE takoฤ‘er spada pod atribute opsega tablice.

Korak 2) Atribut table-scope moลพete ukloniti i pomoฤ‡u metode table_att_unset. Pogledajte naredbu u nastavku:

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • Gornja snimka zaslona prikazuje izmijenjeni naziv tablice s atributima opsega.
  • Metoda table_att_unset se koristi za poniลกtavanje atributa prisutnih u tablici.
  • U drugom sluฤaju, poniลกtavamo vrijednost atributa MAX_FILESIZE.
  • Nakon izvrลกenja naredbe, jednostavno ฤ‡e se poniลกtiti atribut MAX_FILESIZE iz tablice โ€žeducationโ€œ.

promijeniti_status

 Syntax: alter_status 'education'

Izlaz alter_status prikazan je u nastavku:

Naredba HBase shell alter_status koja prikazuje jednu od aลพuriranih regija

  • Pomoฤ‡u ove naredbe moลพete dobiti status naredbe alter.
  • Oznaฤava broj regija tablice koje su primile aลพuriranu shemu. Prosljeฤ‘ujete naziv tablice.
  • Ovdje, na gornjoj snimci zaslona, โ€‹โ€‹prikazuje se aลพuriranje 1/1 regija. To znaฤi da je aลพurirana jedna regija. Nakon toga, ako je aลพuriranje uspjeลกno, prikazat ฤ‡e se komentar "gotovo".

Naredbe za manipulaciju podacima

Ove naredbe rade na tablici za manipulaciju podacima, kao ลกto su stavljanje podataka u tablicu, dohvaฤ‡anje podataka iz tablice i brisanje sheme itd. Naredbe koje spadaju pod ovo su:

  • Raฤunati
  • staviti
  • Dobiti
  • Izbrisati
  • Izbrisati sve
  • skratiti
  • Skenirati

Pogledajmo ove upotrebe naredbi s primjerom. Vidi takoฤ‘er ฤitanje i pisanje HBase podataka.

Raฤunati

Syntax: count <'tablename'>, CACHE =>1000
  • Naredba ฤ‡e dohvatiti broj redaka u tablici. Vrijednost koju vraฤ‡a ova naredba je broj redaka.
  • Trenutni broj se prema zadanim postavkama prikazuje na svakih 1000 redaka.
  • Interval brojanja moลพe se opcionalno navesti.
  • Zadana veliฤina predmemorije je 10 redaka.
  • Naredba count ฤ‡e raditi brzo kada je konfigurirana s ispravnom predmemorijom.

Primjer:

hbase> count 'guru99', CACHE=>1000

Izlaz brojanja prikazan je u nastavku:

Naredba HBase shell count vraฤ‡a broj redaka tablice guru99

Ovaj primjer brojanja dohvaฤ‡a 1000 redaka odjednom iz tablice โ€žguru99โ€œ. Moลพemo postaviti predmemoriju na niลพu vrijednost ako tablica sadrลพi viลกe redaka. Ali prema zadanim postavkama, dohvaฤ‡at ฤ‡e jedan redak odjednom.

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

Pretpostavimo da tablica โ€žguru99โ€œ ima neku referencu tablice, kao recimo g. Moลพemo pokrenuti naredbu count i na referenci tablice, kao ลกto je prikazano u nastavku:

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

staviti

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

Ova naredba se koristi za sljedeฤ‡e stvari:

  • Stavit ฤ‡e 'vrijednost' ฤ‡elije u definiranu ili specificiranu tablicu ili redak ili stupac.
  • Opcionalno ฤ‡e koordinirati vremensku oznaku.

Primjer: Ovdje unosimo vrijednosti u tablicu โ€žguru99โ€œ pod redak r1 i stupac c1.

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

U tablicu โ€žguru99โ€œ smjestili smo tri vrijednosti, 10, 15 i 30, kao ลกto je prikazano na snimci zaslona ispod.

HBase shell put naredba ubacuje vrijednosti 10, 15 i 30 u tablicu guru99

Pretpostavimo da tablica โ€žguru99โ€œ ima neku referencu tablice, kao ลกto je recimo g. Takoฤ‘er moลพemo pokrenuti naredbu na referenci tablice, kao ลกto je:

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

Izlaz ฤ‡e biti kao ลกto je prikazano na gornjoj snimci zaslona nakon unoลกenja vrijednosti u โ€žguru99โ€œ. Da bismo provjerili je li ulazna vrijednost ispravno unesena u tablicu, koristimo naredbu โ€žscanโ€œ. Na donjoj snimci zaslona moลพemo vidjeti da su vrijednosti ispravno unesene.

Izlaz HBase shell skeniranja koji potvrฤ‘uje vrijednosti umetnute u tablicu guru99

Code Isjeฤak: Za vjeลพbu

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

Iz isjeฤka koda radimo sljedeฤ‡e:

  • Ovdje stvaramo tablicu pod nazivom 'guru99' s nazivom stupca โ€žEduโ€œ.
  • Koriลกtenjem naredbe โ€žputโ€œ smjeลกtamo vrijednosti u redak s nazivom r1 u stupcu โ€žEduโ€œ u tablici โ€žguru99โ€œ.

Dobiti

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

Ovdje, ukljuฤuju TIMERANGE, TIMESTAMP, VERSIONS i FILTERS. Koriลกtenjem ove naredbe dobit ฤ‡ete sadrลพaj retka ili ฤ‡elije u tablici. Osim toga, moลพete mu dodati i dodatne parametre, poput TIMESTAMP, TIMERANGE, VERSIONS, FILTERS itd., kako biste dobili odreฤ‘eni sadrลพaj retka ili ฤ‡elije.

Izlazna funkcija get u nastavku vraฤ‡a vrijednosti retka r1 i stupca c1:

HBase shell get naredba vraฤ‡a redak r1 i stupac c1 iz tablice guru99

Primjeri: -

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

Za tablicu โ€žguru99โ€œ, vrijednosti retka r1 i stupca c1 prikazat ฤ‡e se pomoฤ‡u ove naredbe, kao ลกto je prikazano na gornjoj snimci zaslona.

hbase> get 'guru99', 'r1'

Za tablicu โ€žguru99โ€œ, vrijednosti retka r1 bit ฤ‡e prikazane pomoฤ‡u ove naredbe.

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

Za tablicu โ€žguru99โ€œ, vrijednosti retka r1 u vremenskom rasponu od ts1 do ts2 bit ฤ‡e prikazane pomoฤ‡u ove naredbe.

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

Za tablicu โ€žguru99โ€œ, vrijednosti retka r1 i obitelji stupaca c1, c2 i c3 prikazat ฤ‡e se pomoฤ‡u ove naredbe.

Izbrisati

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • Ova naredba ฤ‡e izbrisati vrijednost ฤ‡elije u definiranoj tablici retka ili stupca.
  • Brisanje mora i treba toฤno odgovarati koordinatama izbrisane ฤ‡elije.
  • Prilikom skeniranja, ฤ‡elija za brisanje potiskuje starije verzije vrijednosti.

Primjer: Naredba za brisanje u nastavku uklanja ฤ‡elije r1, c1 iz tablice guru99:

Naredba za brisanje u HBase shellu uklanja ฤ‡eliju r1 c1 iz tablice guru99

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
  • Gornja naredba ฤ‡e izbrisati redak r1 iz obitelji stupaca c1 u tablici โ€žguru99โ€œ.
  • Pretpostavimo da tablica โ€žguru99โ€œ ima neku referencu na tablicu, kao recimo g.
  • Naredbu moลพemo pokrenuti i na referenci tablice, poput hbase> g.delete 'guru99', 'r1', 'c1โ€ฒโ€.

izbrisati sve

Syntax: deleteall <'tablename'>, <'rowname'>
  • Ova naredba ฤ‡e izbrisati sve ฤ‡elije u zadanom retku.
  • U sintaksi moลพemo opcionalno definirati nazive stupaca i vremensku oznaku.

Primjer: - Naredba deleteall u nastavku briลกe svaku ฤ‡eliju u retku r1:

Naredba HBase shell deleteall uklanja sve ฤ‡elije u retku r1 tablice guru99

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

Ovim ฤ‡e se izbrisati svi retci i stupci prisutni u tablici. Po ลพelji moลพemo spomenuti nazive stupaca.

skratiti

Syntax:  truncate <tablename>

Naredba truncate u nastavku prazni tablicu dok keeping njegova shema:

Onemoguฤ‡avanje naredbe skraฤ‡ivanja HBase shell-a, ispuลกtanjepingi ponovno stvaranje tablice guru99

Nakon skraฤ‡ivanja HBase tablice, shema ฤ‡e biti prisutna, ali ne i zapisi. Ova naredba obavlja 3 funkcije; one su navedene u nastavku:

  • Onemoguฤ‡uje tablicu ako veฤ‡ postoji.
  • Briลกe tablicu ako veฤ‡ postoji.
  • Ponovno stvara spomenutu tablicu.

Skenirati

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

Ova naredba skenira cijelu tablicu i prikazuje sadrลพaj tablice.

  • Moลพemo proslijediti nekoliko izbornih specifikacija ovoj naredbi za skeniranje kako bismo dobili viลกe informacija o tablicama prisutnim u sustavu.
  • Specifikacije skenera mogu ukljuฤivati โ€‹โ€‹jedan ili viลกe sljedeฤ‡ih atributa.
  • To su TIMERRANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW i STOPROW.
scan 'guru99'

Izlaz skeniranja prikazan je u nastavku:

Naredba HBase shell scan prikazuje retke r1, r2 i r3 tablice guru99

Na gornjoj snimci zaslona:

  • Prikazuje tablicu โ€žguru99โ€œ s nazivom i vrijednostima stupca.
  • Sastoji se od tri vrijednosti retka, r1, r2 i r3, za vrijednost jednog stupca c1.
  • Prikazuje vrijednosti povezane s redovima.

Primjeri: - Razliฤite upotrebe naredbe skeniranja:

naredba Upotreba
skeniraj '.META.', {COLUMNS => 'info:regioninfo'} Prikazuje sve metapodatke povezane sa stupcima koji su prisutni u tablicama u HBaseu.
skeniraj 'guru99', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'} Prikazuje sadrลพaj tablice guru99 s njihovim obiteljima stupaca c1 i c2, ograniฤavajuฤ‡i vrijednosti na 10.
skeniraj 'guru99', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]} Prikazuje sadrลพaj guru99 s nazivom stupca c1 s vrijednostima prisutnim izmeฤ‘u spomenute vrijednosti atributa vremenskog raspona.
skeniraj 'guru99', {RAW => istina, VERZIJE =>10} U ovoj naredbi, RAW=> true pruลพa naprednu znaฤajku, poput prikaza svih vrijednosti ฤ‡elija prisutnih u tablici guru99.

Code Primjer: Prvo, stvorite tablicu i unesite vrijednosti u tablicu. Unos je prikazan na snimci zaslona u nastavku:

Ulaz u HBase shell stvara tablicu guru99 i umeฤ‡e verzionirane vrijednosti prije sirovog skeniranja

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

Ako pokrenemo naredbu skeniranja:

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

Prikazat ฤ‡e se izlaz prikazan u nastavku:

Izlaz sirovog skeniranja HBase ljuske koji prikazuje viลกe verzija ฤ‡elija, ukljuฤujuฤ‡i izbrisanu vrijednost

Izlaz prikazan na gornjoj snimci zaslona daje sljedeฤ‡e informacije:

  • Skeniranje tablice guru99 s atributima RAW=>true, VERSIONS=>1000.
  • Prikaz redaka s obiteljima stupaca i vrijednostima.
  • U treฤ‡em retku prikazane vrijednosti pokazuju izbrisanu vrijednost prisutnu u stupcu.
  • Izlaz koji prikazuje je sluฤajan; ne moลพe biti istim redoslijedom kao vrijednosti koje smo umetnuli u tablicu.

Cluster Replikacijske naredbe

  • Ove naredbe rade u naฤinu postavljanja klastera HBasea.
  • Za dodavanje i uklanjanje peerova u klaster te za pokretanje i zaustavljanje replikacije, ove se naredbe opฤ‡enito koriste.
naredba Funkcionalnost
add_peer Dodaje peer-ove u klaster za replikaciju.
hbase> add_peer '3', zk1, zk2, zk3:2182:/hbase-prod
ukloniti_vrลกnjaka Zaustavlja definirani tok replikacije i briลกe sve metapodatke o peer-u.
hbase> remove_peer '1'
pokretanje_replikacije Ponovno pokreฤ‡e sve znaฤajke replikacije.
hbase> start_replication
zaustavi_replikaciju Zaustavlja sve znaฤajke replikacije.
hbase>zaustavi_replikaciju

Pitanja i odgovori

Upiลกite exit ili quit i pritisnite Enter da biste napustili interaktivnu HBase ljusku i vratili se na prompt operacijskog sustava. Ljusku otvarate naredbom hbase shell. Ni exit ni quit ne zaustavljaju HBase uslugu; one samo zavrลกavaju sesiju ljuske.

Da. Naredbe se preusmjeravaju neinteraktivno, na primjer echo โ€œlistโ€ | hbase shell ili se spremljena datoteka pokrene s hbase shell script.txt. Buduฤ‡i da je shell baziran na JRubyju, moลพete ugraditi i Ruby logiku i petlje unutar .rb skriptnih datoteka.

Ljuska je interaktivni JRuby prompt za brze ruฤne naredbe i administraciju. Java API, koji koristi Connection, Admin i Table, namijenjen je aplikacijama koje stvaraju tablice i programski ฤitaju ili piลกu podatke. Obje doseลพu isti HBase klaster i podatke.

Pogreลกka โ€žTablica veฤ‡ postojiโ€œ pojavljuje se kada naredba create ponavlja postojeฤ‡i naziv, a โ€žTablica nije onemoguฤ‡enaโ€œ pojavljuje se kada naredbu izostavite ili promijenite bez prethodnog onemoguฤ‡avanja. Pokrenite naredbu disable 'table' prije naredbe drop ili alter i upotrijebite exists 'table' za provjeru naziva prije stvaranja.

Obitelj stupaca HBase ฤuva ograniฤen broj verzija s vremenskim oznakama po ฤ‡eliji, povijesno tri i jednu u novijim izdanjima. Postavite broj pomoฤ‡u VERSIONS prilikom kreiranja ili izmjene, a starije verzije zatraลพite pomoฤ‡u {VERSIONS => n} na naredbi get ili scan.

Varijabla reference tablice je objekt ljuske koji vraฤ‡a g = get_table 'guru99'. Zatim na njoj pozivate metode, kao ลกto su g.put, g.get ili g.count, umjesto ponavljanja naziva tablice. To je praktiฤan preฤac u stilu JRubyja u HBase ljusci.

Pomoฤ‡nici za AI kodiranje i modeli velikih jezika generiraju HBase shell naredbe iz zahtjeva na obiฤnom jeziku, objaลกnjavaju nepoznate opcije poput filtera skeniranja ili TTL-a i pomaลพu u otklanjanju pogreลกaka. Strojno uฤenje takoฤ‘er analizira metrike klastera kako bi vodilo replikaciju i podeลกavanje regije, iako bi inลพenjer trebao provjeriti svaku naredbu.

Da. GitHub kopilot predlaลพe HBase shell naredbe i JRuby skripte iz kratkog komentara, ukljuฤujuฤ‡i primjere create, put, scan i alter. RevPrije pokretanja na stvarnom klasteru, pogledajte njegov izlaz za ispravan naziv tablice, obitelji stupaca i sintaksu kao ลกto je VERZIJE.

Saลพmite ovu objavu uz: