Comenzi Shell HBase cu exemple

⚡ Rezumat inteligent

Comenzile shell HBase vă permit să gestionați tabele și date direct dintr-un prompt interactiv, grupate în comenzi generale, comenzi de gestionare a tabelelor, cum ar fi create și drop, comenzi de manipulare a datelor, cum ar fi put și get, și comenzi de replicare în cluster.

  • 🖥️ Comenzi generale: status, version, table_help și whoami raportează starea clusterului și informații despre utilizatori.
  • 🗂️ Gestionarea tabelelor: a crea, lista, descrie, dezactiva, activa, elimina și modifica, construi și remodela tabele.
  • ✏️ Manipulare de date: pune, obține, șterge, șterge toate, trunchiază, numără și scanează, citește și scrie valorile celulelor.
  • 🔁 Cluster replicare: add_peer, remove_peer, start_replication și stop_replication gestionează replicarea datelor.
  • Atribut TTL: Timpul de viață expiră automat rândurile familiei de coloane după un număr setat de secunde.
  • 🤖 Asistență AI: Asistenții inteligenți artificiali generează și explică comenzile shell HBase din prompturi în limbaj simplu.

Comenzi shell HBase cu exemple pentru tabele, date și replicare în cluster

Cum să interacționezi cu HBase folosind comenzi shell și Java API

După o instalare cu succes a HBase pe Hadoop, obținem un shell interactiv pentru a executa diverse comenzi și a efectua mai multe operațiuni. Folosind aceste comenzi, putem efectua mai multe operațiuni asupra tabelelor de date, ceea ce oferă o eficiență mai bună a stocării datelor și o interacțiune flexibilă pentru client.

Putem interacționa cu HBase în două moduri:

  • Modul shell interactiv HBase și
  • Prin Java API-ul.

În HBase, modul shell interactiv este utilizat pentru a interacționa cu HBase pentru operațiuni cu tabelele, gestionarea tabelelor și modelarea datelor. Folosind Java Modelul API permite efectuarea tuturor tipurilor de operațiuni cu tabele și date în HBase. Putem interacționa cu HBase folosind ambele metode. Singura diferență dintre cele două este că Java Utilizări API Java cod pentru conectarea la HBase, în timp ce modul shell folosește comenzi shell pentru conectarea la HBase.

O scurtă recapitulare a HBase înainte de a continua:

  • HBase utilizează Hadoop fișiere ca sistem de stocare pentru stocarea unor cantități mari de date. HBase este format din servere principale și servere regionale.
  • Datele care vor fi stocate în HBase vor fi sub formă de regiuni. În plus, aceste regiuni vor fi împărțite și stocate pe mai multe servere regionale.
  • Aceste comenzi shell permit programatorului să definească scheme de tabele și operații cu datele folosind interacțiunea completă în modul shell.
  • Indiferent de comanda pe care o folosim, aceasta se va reflecta în modelul de date HBase.
  • Folosim comenzile shell HBase în interpretoarele de scripturi ale sistemului de operare, cum ar fi shell-ul Bash.
  • Shell-ul Bash este interpretorul de comenzi implicit pentru majoritatea Linux și distribuțiile sistemului de operare Unix.
  • Versiunile avansate de HBase oferă comenzi shell cu referințe orientate pe obiecte în stil JRuby pentru tabele.
  • Variabilele de referință ale tabelului pot fi utilizate pentru a efectua operațiuni cu date în modul shell HBase.

De exemplu:

  • În acest tutorial, am creat un tabel în care „education” reprezintă numele tabelului și corespunde numelui coloanei „guru99”.
  • În unele comenzi, „guru99” reprezintă în sine un nume de tabel.

Comenzi generale

În HBase, comenzile generale sunt clasificate în următoarele comenzi:

  • Stare
  • Versiune
  • Table_help (scanare, drop, get, put, dezable etc.)
  • Cine sunt

Pentru a intra în comanda shell HBase, mai întâi trebuie să executăm codul menționat mai jos.

hbase Shell

Odată ce intrăm în shell-ul HBase, putem executa toate comenzile shell menționate mai jos. Cu ajutorul acestor comenzi, putem efectua toate tipurile de operațiuni cu tabelele în modul shell HBase. Promptul interactiv al shell-ului apare așa cum se arată mai jos:

Linia de comandă interactivă HBase a fost deschisă cu comanda hbase shell

Să analizăm toate aceste comenzi și utilizarea lor una câte una cu un exemplu.

Stare

Syntax:status

Această comandă va oferi detalii despre starea sistemului, cum ar fi numărul de servere prezente în cluster, numărul de servere active și valoarea medie a încărcării. De asemenea, puteți transmite anumiți parametri în funcție de cât de detaliată doriți să cunoașteți starea sistemului. Parametrii pot fi „summary”, „simple” sau „detailed”; parametrul implicit furnizat este „summary”.

Mai jos, am arătat cum puteți transmite diferiți parametri comenzii de stare. Dacă observăm captura de ecran de mai jos, vom avea o idee mai bună.

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

Ieșirea de stare este afișată mai jos:

Ieșirea comenzii de stare a shell-ului HBase care arată serverele active, serverele nefuncționale și încărcarea medie

Când executăm această comandă de stare, aceasta oferă informații despre numărul de servere prezente, serverele nefuncționale și încărcarea medie a serverului. Aici, captura de ecran arată informații precum 1 server activ, 1 server nefuncțional și o încărcare medie de 7.0000.

Versiune

Syntax: version

Rezultatul versiunii este prezentat mai jos:

Comanda versiunii shell HBase care afișează versiunea HBase instalată

  • Această comandă va afișa versiunea HBase utilizată în prezent în modul comandă.
  • Dacă rulați comanda version, aceasta va afișa rezultatul așa cum se arată mai sus.

Ajutor de masă

Syntax:table_help

Rezultatul table_help este prezentat mai jos:

Rezultatul table_help al shell-ului HBase - listarea comenzilor create și get_table - utilizarea acestora

Această comandă ghidează:

  • Ce sunt comenzile cu referire la tabel și cum se utilizează.
  • Va oferi diferite utilizări ale comenzilor shell HBase și sintaxele acestora.
  • Aici, în captura de ecran de mai sus, este prezentată sintaxa pentru comenzile „create” și „get_table” și utilizarea lor. Putem manipula tabelul prin intermediul acestor comenzi odată ce tabelul este creat în HBase.
  • Va oferi comenzi de manipulare a tabelelor, cum ar fi put, get și toate celelalte informații despre comenzi.

cine sunt

Syntax: Whoami

Rezultatul whoami este prezentat mai jos:

Comanda whoami din shell-ul HBase returnează hduser-ul și grupurile curente

Această comandă „whoami” este utilizată pentru a returna informațiile curente despre utilizatorul HBase din clusterul HBase. Aceasta va oferi informații precum:

  • Grupuri prezente în HBase.
  • Informațiile despre utilizator; de exemplu, în acest caz, „hduser” reprezintă numele de utilizator, așa cum se arată în captura de ecran.

TTL (Time To Live) – Atribut

În HBase, familiile de coloane pot fi setate la valori de timp în secunde folosind TTL. HBase va șterge automat rândurile odată ce se ajunge la timpul de expirare. Acest atribut se aplică tuturor versiunilor unui rând, chiar și versiunii curente.

Timpul TTL codificat în HBase pentru rând este specificat în UTC. Acest atribut este utilizat cu comenzi de gestionare a tabelelor. Diferențele importante dintre gestionarea TTL și TTL-urile familiei de coloane sunt mai jos:

  • TTL-urile celulelor sunt exprimate în unități de milisecunde în loc de secunde.
  • Un TTL al unei celule nu poate extinde durata de viață efectivă a unei celule dincolo de o setare TTL la nivel de familie de coloane.

Comenzi de gestiune a tabelelor

Aceste comenzi vor permite programatorilor să creeze tabele și scheme de tabele cu familii de rânduri și coloane. Următoarele sunt comenzile de gestionare a tabelelor:

  • Crează
  • Listă
  • Descrieti
  • Dezactivați
  • Dezactivați toate
  • Permite
  • Permite tuturor
  • Picătură
  • Drop_all
  • Afișați_filtre
  • Vârstă
  • Alter_status

Să analizăm diverse utilizări ale comenzilor în HBase cu un exemplu.

Crează

Syntax: create <tablename>, <columnfamilyname>

Exemplu:-

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

Rezultatul comenzii de creare este afișat mai jos:

Comanda HBase shell create construiește tabelul education cu familia de coloane guru99

Exemplul de mai sus explică modul de creare a unui tabel în HBase cu numele specificat, conform specificațiilor pentru fiecare familie de coloane. În plus, putem transmite și unele atribute de tip tabel. Pentru a verifica dacă tabelul „education” este creat sau nu, folosim comanda „list” de mai jos. Vezi și crearea tabelelor HBase cu Java și coajă.

Listă

Syntax:list

Rezultatul listei este prezentat mai jos:

Comanda HBase shell list afișează opt tabele existente în HBase

  • Comanda „list” va afișa toate tabelele prezente sau create în HBase.
  • Rezultatul afișat în captura de ecran de mai sus arată în prezent tabelele existente în HBase.
  • Aici, în această captură de ecran, se arată că există un total de 8 tabele prezente în HBase.
  • Putem filtra valorile de ieșire din tabele prin transmiterea unor parametri opționali ai expresiilor regulate.

Descrieti

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

Rezultatul descrierii este prezentat mai jos:

Shell-ul HBase descrie ieșirea comenzii care detaliază familiile de coloane din tabelul educațional

Această comandă descrie tabelul numit.

  • Va oferi mai multe informații despre familiile de coloane prezente în tabelul menționat.
  • În cazul nostru, oferă descrierea tabelului „educație”.
  • Va oferi informații despre numele tabelului cu familiile de coloane, filtrele asociate, versiunile și alte detalii.

dezactivați

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

Ieșirea de dezactivare este afișată mai jos:

Comanda de dezactivare a shell-ului HBase care scoate tabelul educațional offline

  • Această comandă va începe dezactivarea tabelului numit.
  • Dacă un tabel trebuie șters sau eliminat, acesta trebuie mai întâi dezactivat.

Aici, în captura de ecran de mai sus, dezactivăm educația tabelului.

dezactivați toate

 Syntax: disable_all<"matching regex"
  • Această comandă va dezactiva toate tabelele care se potrivesc cu expresia regex dată.
  • Implementarea este aceeași ca și în cazul comenzii drop (cu excepția adăugării unei expresii regulate pentru potrivire).
  • Odată ce tabelul este dezactivat, utilizatorul poate șterge tabelul din HBase.
  • Înainte de ștergere sau eliminareping un tabel, acesta ar trebui dezactivat mai întâi.

Permite

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

Ieșirea de activare este prezentată mai jos:

Comanda de activare a shell-ului HBase reactivează tabelul educațional cu dizabilitați

  • Această comandă va începe activarea tabelului numit.
  • Oricare ar fi tabelul dezactivat, pentru a-l readuce la starea anterioară, folosim această comandă.
  • Dacă un tabel este dezactivat în prima instanță și nu este șters sau eliminat, și dacă dorim să reutilizăm tabelul dezactivat, atunci trebuie să îl activăm folosind această comandă.
  • Aici, în captura de ecran de mai sus, activăm tabelul „educație”.

arată_filtre

Syntax: show_filters

Rezultatul comenzii `show_filters` este prezentat mai jos:

Rezultatul shell-ului HBase show_filters listează filtrele HBase disponibile

Această comandă afișează toate filtrele prezente în HBase, cum ar fi ColumnPrefixFilter, TimestampsFilter, PageFilter, FamilyFilter etc.

picătură

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

Rezultatul căderii este prezentat mai jos:

Comanda HBase shell drop pentru ștergerea tabelului educațional cu dizabilități

Trebuie să respectăm următoarele puncte pentru comanda drop:

  • Pentru a șterge tabelul prezent în HBase, trebuie mai întâi să îl dezactivăm.
  • Pentru a elimina tabelul prezent în HBase, trebuie mai întâi să îl dezactivăm.
  • Deci, pentru a elimina sau a șterge un tabel, mai întâi tabelul trebuie dezactivat folosind comanda disable.
  • Aici, în captura de ecran de mai sus, suntem dropping tabelul „educație”.
  • Înainte de a executa această comandă, este necesar să dezactivați tabelul „educație”.

drop_all

Syntax: drop_all<"regex">
  • Această comandă va elimina toate tabelele care corespund expresiei regulate date.
  • Tabelele trebuie dezactivate mai întâi, înainte de a executa această comandă, folosind disable_all.
  • Tabelele cu expresii regex corespondente vor fi eliminate din HBase.

este activat

Syntax: is_enabled 'education'

Această comandă va verifica dacă tabelul numit este activat sau nu. De obicei, există o mică confuzie între acțiunile comenzii „enable” și „is_enabled”, pe care o clarificăm aici:

  • Să presupunem că un tabel este dezactivat; pentru a utiliza acel tabel, trebuie să îl activăm folosind comanda enable.
  • Comanda is_enabled va verifica dacă tabelul este activat sau nu.

modifica

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

Această comandă modifică schema familiei de coloane. Pentru a înțelege exact ce face, am explicat aici cu un exemplu.

Exemple: În aceste exemple, vom efectua operațiuni cu comenzile alter asupra tabelelor și asupra coloanelor acestora. Vom efectua operațiuni precum:

  • Modificarea numelor de familie pe o singură și mai multe coloane.
  • Ștergerea numelor de familii de coloane dintr-un tabel.
  • Mai multe alte operațiuni care utilizează atribute de domeniu cu un tabel.

Pentru a modifica sau adăuga familia de coloane „guru99_1” în tabelul „education” de la valoarea curentă pentru a păstra maximum 5 VERSIUNI de celule. Aici, „education” este numele tabelului creat anterior cu numele de coloană „guru99”. Cu ajutorul unei comenzi alter, încercăm să schimbăm schema familiei de coloane de la guru99 la guru99_1, așa cum se arată mai jos:

Comanda alterată shell HBase modifică familia de coloane din tabelul education la guru99_1

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

De asemenea, puteți utiliza comanda alter asupra mai multor familii de coloane. De exemplu, vom defini două coloane noi pentru tabelul nostru existent „educație”, așa cum se arată mai jos:

Comanda alterată shell HBase adaugă două noi familii de coloane guru99_2 și guru99_3

 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}
  • Putem modifica mai multe scheme de coloane simultan folosind această comandă.
  • guru99_2 și guru99_3, așa cum se arată în captura de ecran de mai sus, sunt cele două nume noi de coloane pe care le-am definit pentru tabelul education.
  • Putem vedea modul de utilizare a acestei comenzi în captura de ecran anterioară.

În acest pas, vom vedea cum se șterge o familie de coloane din tabel. Pentru a șterge familia de coloane „f1” din tabelul „education”, utilizați una dintre comenzile de mai jos. Rezultatul este afișat în captura de ecran următoare:

Comanda alterată shell HBase pentru ștergerea unei familii de coloane din tabelul education

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

În această comandă, încercăm să ștergem spațiul de coloană numit guru99_1 pe care l-am creat anterior în primul pas. După cum se arată în capturile de ecran de mai jos, se prezintă doi pași: cum se modifică atributul domeniului de aplicare al unui tabel și cum se elimină atributul domeniului de aplicare al tabelului.

Comanda de modificare a shell-ului HBase setează atributul MAX_FILESIZE pentru domeniul de aplicare al tabelului

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

Pasul 1) Puteți modifica atributele tabelului, cum ar fi MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH etc. Acestea pot fi plasate la sfârșit; de exemplu, pentru a modifica dimensiunea maximă a unei regiuni la 128 MB sau orice altă valoare de memorie, folosim această comandă.

Utilizare:

  • Putem folosi MAX_FILESIZE cu tabelul ca atribut de scop, ca mai sus.
  • Numărul reprezentat în MAX_FILESIZE este exprimat în memorie, în octeți.

NOTĂ: Domeniul de aplicare al tabelului MAX_FILESIZE va fi determinat de unele atribute prezente în HBase. MAX_FILESIZE se încadrează și în atributele domeniului de aplicare al tabelului.

Pasul 2) De asemenea, puteți elimina un atribut table-scope folosind metoda table_att_unset. Vedeți comanda de mai jos:

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • Captura de ecran de mai sus arată numele modificat al tabelului cu atributele de domeniu.
  • Metoda table_att_unset este utilizată pentru a anula setarea atributelor prezente în tabel.
  • În a doua instanță, anulăm setarea atributului MAX_FILESIZE.
  • După executarea comenzii, aceasta va pur și simplu anula setarea atributului MAX_FILESIZE din tabelul „educație”.

alter_status

 Syntax: alter_status 'education'

Rezultatul alter_status este prezentat mai jos:

Comanda alter_status din shell-ul HBase care afișează una dintre regiunile actualizate

  • Prin intermediul acestei comenzi, puteți obține starea comenzii alter.
  • Indică numărul de regiuni ale tabelului care au primit schema actualizată. Transmiteți numele tabelului.
  • Aici, în captura de ecran de mai sus, se afișează 1/1 regiuni actualizate. Înseamnă că a fost actualizată o regiune. După aceea, dacă procesul are succes, va afișa comentariul „gata”.

Comenzi de manipulare a datelor

Aceste comenzi lucrează asupra tabelului pentru manipulări de date, cum ar fi introducerea datelor într-un tabel, recuperarea datelor dintr-un tabel și ștergerea schemei etc. Comenzile care se încadrează în acestea sunt:

  • Conta
  • Pune
  • Obține
  • Șterge
  • Sterge tot
  • Trunchia
  • Scanda

Să analizăm aceste utilizări ale comenzilor cu un exemplu. Vezi și citirea și scrierea datelor HBase.

Conta

Syntax: count <'tablename'>, CACHE =>1000
  • Comanda va prelua numărul de rânduri dintr-un tabel. Valoarea returnată de aceasta este numărul de rânduri.
  • Numărul curent este afișat în mod implicit pentru fiecare 1000 de rânduri.
  • Intervalul de numărare poate fi specificat opțional.
  • Dimensiunea implicită a memoriei cache este de 10 rânduri.
  • Comanda count va funcționa rapid atunci când este configurată cu memoria cache corectă.

Exemplu:

hbase> count 'guru99', CACHE=>1000

Rezultatul numărătorii este prezentat mai jos:

Comanda HBase shell count care returnează numărul de rânduri din tabelul guru99

Acest exemplu de numărare preia câte 1000 de rânduri odată din tabelul „guru99”. Putem seta memoria cache la o valoare mai mică dacă tabelul conține mai multe rânduri. Dar, în mod implicit, va prelua câte un rând odată.

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

Să presupunem că tabelul „guru99” are o referință la tabel, cum ar fi g. Putem rula comanda count și pe referința tabelului, ca mai jos:

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

Pune

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

Această comandă este utilizată pentru următoarele lucruri:

  • Acesta va pune o „valoare” celulei la un tabel, rând sau coloană definit sau specificat.
  • Opțional, va coordona o marcă temporală.

Exemplu: Aici, plasăm valori în tabelul „guru99” sub rândul r1 și coloana c1.

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

Am plasat trei valori, 10, 15 și 30, în tabelul „guru99”, așa cum se arată în captura de ecran de mai jos.

Comanda put din shell-ul HBase inserează valorile 10, 15 și 30 în tabelul guru99

Să presupunem că tabelul „guru99” are o referință la tabel, cum ar fi g. Putem rula comanda și pe referința tabelului, astfel:

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

Rezultatul va fi așa cum se arată în captura de ecran de mai sus după plasarea valorilor în „guru99”. Pentru a verifica dacă valoarea de intrare este introdusă corect în tabel, folosim comanda „scan”. În captura de ecran de mai jos, putem vedea că valorile sunt inserate corect.

Rezultatul scanării shell-ului HBase confirmă valorile inserate în tabelul guru99

Code Fragment: Pentru practică

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

Din fragmentul de cod, facem următoarele lucruri:

  • Aici, creăm un tabel numit „guru99” cu numele coloanei „Edu”.
  • Folosind comanda „put”, plasăm valori în rândul cu numele r1 din coloana „Edu” din tabelul „guru99”.

Obține

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

Aici, include TIMERANGE, TIMESTAMP, VERSIONS și FILTERS. Folosind această comandă, veți obține conținutul unui rând sau al unei celule prezent în tabel. În plus, puteți adăuga și parametri suplimentari, cum ar fi TIMESTAMP, TIMESTAMP, VERSIONS, FILTERS etc., pentru a obține conținutul unui anumit rând sau al unei celule.

Rezultatul `get` de mai jos returnează valorile rândului r1 și coloanei c1:

Comanda HBase shell get returnează rândul r1 și coloana c1 din tabelul guru99

Exemple:-

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

Pentru tabelul „guru99”, valorile rândului r1 și coloanei c1 vor fi afișate folosind această comandă, așa cum se arată în captura de ecran de mai sus.

hbase> get 'guru99', 'r1'

Pentru tabelul „guru99”, valorile rândului r1 vor fi afișate folosind această comandă.

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

Pentru tabelul „guru99”, valorile rândului r1 din intervalul de timp ts1 până la ts2 vor fi afișate folosind această comandă.

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

Pentru tabelul „guru99”, valorile rândului r1 și ale familiilor de coloane c1, c2 și c3 vor fi afișate folosind această comandă.

Șterge

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • Această comandă va șterge valoarea celulei dintr-un tabel definit de rânduri sau coloane.
  • Ștergerea trebuie să corespundă exact coordonatelor celulei șterse.
  • La scanare, o celulă de ștergere suprimă versiunile mai vechi ale valorilor.

Exemplu: Comanda de ștergere de mai jos elimină celulele r1, c1 din tabelul guru99:

Comanda de ștergere a shell-ului HBase elimină celula r1 c1 din tabelul guru99

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
  • Execuția de mai sus va șterge rândul r1 din familia de coloane c1 din tabelul „guru99”.
  • Să presupunem că tabelul „guru99” are o referință la tabel, cum ar fi g.
  • Putem rula comanda și asupra referinței tabelului, cum ar fi hbase> g.delete 'guru99', 'r1', 'c1′”.

sterge tot

Syntax: deleteall <'tablename'>, <'rowname'>
  • Această comandă va șterge toate celulele dintr-un anumit rând.
  • Opțional, putem defini nume de coloane și o marcă temporală în sintaxă.

Exemplu: Comanda deleteall de mai jos elimină fiecare celulă din rândul r1:

Comanda deleteall din shell-ul HBase elimină toate celulele din rândul r1 al tabelului guru99

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

Aceasta va șterge toate rândurile și coloanele prezente în tabel. Opțional, putem menționa numele coloanelor în acesta.

Trunchia

Syntax:  truncate <tablename>

Comanda truncate de mai jos golește tabelul în timp ce keeping schema sa:

Dezactivarea, eliminarea comenzii trunchiere a shell-ului HBasepingși recrearea tabelului guru99

După trunchierea unui tabel HBase, schema va fi prezentă, dar nu și înregistrările. Această comandă îndeplinește 3 funcții; acestea sunt enumerate mai jos:

  • Dezactivează tabelul dacă acesta există deja.
  • Elimină tabelul dacă acesta există deja.
  • Recreează tabelul menționat.

Scanda

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

Această comandă scanează întregul tabel și afișează conținutul acestuia.

  • Putem transmite câteva specificații opționale acestei comenzi de scanare pentru a obține mai multe informații despre tabelele prezente în sistem.
  • Specificațiile scanerului pot include unul sau mai multe dintre următoarele atribute.
  • Acestea sunt TIMERANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW și STOPROW.
scan 'guru99'

Rezultatul scanării este prezentat mai jos:

Comanda de scanare shell HBase afișează rândurile r1, r2 și r3 din tabelul guru99

În captura de ecran de mai sus:

  • Afișează tabelul „guru99” cu numele coloanei și valorile.
  • Se compune din trei valori pe rând, r1, r2 și r3, pentru valoarea c1 pe o singură coloană.
  • Afișează valorile asociate rândurilor.

Exemple: - Diferitele utilizări ale comenzii de scanare:

Comandă Folosire
scanează '.META.', {COLUMNS => 'info:regioninfo'} Afișează toate informațiile despre metadate legate de coloanele prezente în tabelele din HBase.
scanează 'guru99', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'} Afișează conținutul tabelului guru99 cu familiile de coloane c1 și c2, limitând valorile la 10.
scanează 'guru99', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]} Afișează conținutul lui guru99 cu numele coloanei sale c1 cu valorile prezente între valoarea atributului interval de timp menționat.
scanează „guru99”, {RAW => true, VERSIONS =>10} În această comandă, RAW=> true oferă o funcție avansată, cum ar fi afișarea tuturor valorilor celulelor prezente în tabelul guru99.

Code Exemplu: Mai întâi, creați un tabel și plasați valorile în tabel. Intrarea este afișată în captura de ecran de mai jos:

Intrarea shell-ului HBase creează tabelul guru99 și inserează valori versionate înainte de o scanare brută

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

Dacă rulăm comanda de scanare:

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

Va afișa rezultatul prezentat mai jos:

Rezultatul scanării brute a shell-ului HBase afișează mai multe versiuni de celule, inclusiv o valoare ștearsă

Rezultatul afișat în captura de ecran de mai sus oferă următoarele informații:

  • Scanarea tabelului guru99 cu atributele RAW=>true, VERSIONS=>1000.
  • Afișarea rândurilor cu familii de coloane și valori.
  • În al treilea rând, valorile afișate arată valoarea ștearsă prezentă în coloană.
  • Rezultatul afișat este aleatoriu; nu poate fi în aceeași ordine ca valorile pe care le-am introdus în tabel.

Cluster Comenzi de replicare

  • Aceste comenzi funcționează în modul de configurare a clusterului din HBase.
  • Pentru adăugarea și eliminarea peer-ilor într-un cluster și pentru a porni și opri replicarea, aceste comenzi sunt utilizate în general.
Comandă Funcționalitate
add_peer Adaugă peer-uri la un cluster pentru replicare.
hbase> add_peer '3', zk1,zk2,zk3:2182:/hbase-prod
remove_peer Oprește fluxul de replicare definit și șterge toate informațiile de metadate despre peer.
hbase> remove_peer '1'
start_replication Repornește toate funcțiile de replicare.
hbase> start_replication
stop_replication Oprește toate funcțiile de replicare.
hbase>stop_replication

Întrebări frecvente

Tastați exit sau quit și apăsați Enter pentru a părăsi shell-ul interactiv HBase și a reveni la promptul sistemului de operare. Deschideți shell-ul cu comanda hbase shell. Nici exit, nici quit nu opresc serviciul HBase; ele doar încheie sesiunea shell.

Da. Introduceți comenzile în mod neinteractiv, de exemplu echo „list” | hbase shell sau rulați un fișier salvat cu hbase shell script.txt. Deoarece shell-ul este bazat pe JRuby, puteți încorpora și logica și buclele Ruby în fișierele script .rb.

Shell-ul este un prompt JRuby interactiv pentru comenzi manuale rapide și administrare. Java API-ul, care folosește Connection, Admin și Table, este destinat aplicațiilor care creează tabele și citesc sau scriu date programatic. Ambele ajung la același cluster și date HBase.

Eroarea „Tabelul există deja” apare atunci când comanda „create” repetă un nume existent, iar „Tabelul nu este dezactivat” apare atunci când ștergeți sau modificați fără a dezactiva mai întâi comanda. Executați comanda „disable 'table'” înainte de comanda „drop” sau „alter” și folosiți comanda „exists 'table'” pentru a verifica un nume înainte de a-l crea.

O familie de coloane HBase păstrează un număr limitat de versiuni cu marcaj temporal per celulă, în mod tradițional trei și una în versiunile mai noi. Setați numărul cu VERSIONS la momentul creării sau al modificării și solicitați versiuni mai vechi folosind {VERSIONS => n} într-o comandă get sau scan.

O variabilă de referință pentru tabel este un obiect shell returnat de comanda g = get_table 'guru99'. Apoi, puteți apela metode pe aceasta, cum ar fi g.put, g.get sau g.count, în loc să repetați numele tabelului. Este o comandă rapidă convenabilă în stil JRuby în shell-ul HBase.

Asistenții de codare bazați pe inteligență artificială și modelele lingvistice mari generează comenzi shell HBase din cereri în limbaj simplu, explică opțiuni nefamiliare, cum ar fi filtrele de scanare sau TTL, și ajută la depanarea erorilor. Învățarea automată analizează, de asemenea, metricile clusterului pentru a ghida replicarea și reglarea regiunilor, deși un inginer ar trebui să verifice fiecare comandă.

Da. Copilotul GitHub sugerează comenzi shell HBase și scripturi JRuby dintr-un scurt comentariu, inclusiv exemple de creare, punere, scanare și alterare. RevVizualizați ieșirea sa pentru numele corect al tabelului, familiile de coloane și sintaxa, cum ar fi VERSIONS, înainte de a-l rula pe un cluster real.

Rezumați această postare cu: