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: