Comenzi Shell HBase cu exemple

Dupฤƒ instalarea cu succes a HBase peste 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ศ›ii pe tabele de date care pot oferi o eficienศ›ฤƒ mai bunฤƒ a stocฤƒrii datelor ศ™i o interacศ›iune flexibilฤƒ din partea clientului.

Putem interacศ›iona cu HBase รฎn douฤƒ moduri,

  • Modul shell interactiv HBase ศ™i
  • Prin Java API

รŽn HBase, modul shell interactiv este utilizat pentru a interacศ›iona cu HBase pentru operaศ›iunile de tabel, gestionarea tabelelor ศ™i modelarea datelor. Prin utilizarea Java Model API, putem efectua toate tipurile de operaศ›iuni de tabele ศ™i date รฎn HBase. Putem interacศ›iona cu HBase folosind ambele metode.

Singura diferenศ›ฤƒ dintre acestea douฤƒ este Java API foloseศ™te codul java pentru a se conecta cu HBase, iar modul shell utilizeazฤƒ comenzi shell pentru a se conecta la HBase.

Depฤƒศ™irea rapidฤƒ a HBasei รฎnainte de a continua -

  • HBase utilizeazฤƒ Hadoop fiศ™iere ca sistem de stocare pentru a stoca cantitฤƒศ›i mari de date. Hbase este format din servere master ศ™i servere regiuni
  • 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 de regiune
  • Aceste comenzi shell permit programatorului sฤƒ defineascฤƒ scheme de tabel ศ™i operaศ›iuni de date folosind interacศ›iunea completฤƒ รฎn modul shell
  • Indiferent de comandฤƒ pe care o folosim, aceasta se va reflecta รฎn modelul de date HBase
  • Folosim comenzi de shell HBase รฎn interpreศ›ii de script ale sistemului de operare, cum ar fi shell-ul Bash
  • Bash shell este interpretul implicit de comenzi pentru majoritatea Linux ศ™i Unix distribuลฃii de operare
  • Versiunile avansate HBase oferฤƒ comenzi shell referinศ›e orientate obiect รฎn stil jruby pentru tabele
  • Variabilele de referinศ›ฤƒ de tabel pot fi utilizate pentru a efectua operaศ›iuni de date รฎn modul shell HBase

De exemplu,

  • รŽn acest tutorial, am creat un tabel รฎn care โ€žeducaศ›ieโ€ reprezintฤƒ numele tabelului ศ™i corespunde numelui coloanei โ€žguru99โ€.
  • รŽn unele comenzi โ€žguru99โ€, el รฎnsuศ™i reprezintฤƒ 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, รฎn primul rรขnd, trebuie sฤƒ executฤƒm codul aศ™a cum este menศ›ionat mai jos

Comenzi generale

hbase Shell

Odatฤƒ ce ajungem sฤƒ intrฤƒm รฎn shell HBase, putem executa toate comenzile shell menศ›ionate mai jos. Cu ajutorul acestor comenzi, putem efectua toate tipurile de operaศ›ii pe tabel รฎn modul shell HBase.

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 un numฤƒr de servere prezente รฎn cluster, numฤƒrul de servere active ศ™i valoarea medie a รฎncฤƒrcฤƒrii. De asemenea, puteศ›i transmite orice parametri anume, รฎn funcศ›ie de cรขt de detaliat doriศ›i sฤƒ aflaศ›i despre sistem. Parametrii pot fi โ€žrezumatโ€, โ€žsimpluโ€ sau โ€ždetaliatโ€, parametrul implicit furnizat este โ€žrezumatโ€.

Mai jos am arฤƒtat cum puteศ›i trece diferiศ›i parametri la comanda de stare.

Dacฤƒ observฤƒm captura de ecran de mai jos, ne vom face o idee mai bunฤƒ.

Stare

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

Cรขnd executฤƒm aceastฤƒ stare de comandฤƒ, va oferi informaศ›ii despre numฤƒrul de servere prezente, serverele moarte ศ™i รฎncฤƒrcarea medie a serverului, aici รฎn capturฤƒ de ecran aratฤƒ informaศ›ii precum- 1 server live, 1 server mort ศ™i รฎncฤƒrcare medie de 7.0000.

Versiune

Syntax: version

Versiune

  • Aceastฤƒ comandฤƒ va afiศ™a versiunea HBase utilizatฤƒ curent รฎn modul de comandฤƒ
  • Dacฤƒ rulaศ›i comanda versiune, aceasta va da rezultate aศ™a cum se aratฤƒ mai sus

Ajutor de masฤƒ

Syntax:table_help

Ajutor de tabel

Aceastฤƒ comandฤƒ ghideazฤƒ

  • Ce ศ™i cum sฤƒ utilizaศ›i comenzile cu referinศ›ฤƒ la tabel
  • Acesta va oferi diferite utilizฤƒri ale comenzilor shell HBase ศ™i sintaxele acesteia
  • Aici, รฎn captura de ecran de mai sus, aratฤƒ sintaxa โ€žcrea" ศ™i "get_tableโ€ comanda cu utilizarea sa. Putem manipula tabelul prin aceste comenzi odatฤƒ ce tabelul este creat รฎn HBase.
  • Acesta va oferi comenzi de manipulare a tabelelor precum put, get ศ™i toate celelalte informaศ›ii despre comenzi.

cine sunt

Sintaxฤƒ:

Syntax: Whoami

Cine sunt

Aceastฤƒ comandฤƒ โ€žwhoamiโ€ este folositฤƒ pentru a returna informaศ›iile curente ale utilizatorului HBase din clusterul HBase.

Acesta va oferi informaศ›ii precum

  • Grupuri prezente รฎn HBazฤƒ
  • 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 timpul de expirare este atins. Acest atribut se aplicฤƒ tuturor versiunilor unui rรขnd โ€“ chiar ศ™i versiunii curente.

Ora TTL codificatฤƒ รฎn HBase pentru rรขnd este specificatฤƒ รฎn UTC. Acest atribut este utilizat cu comenzile de gestionare a tabelelor.

Diferenศ›ele importante รฎntre 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.
  • TTL-urile unei celule nu pot prelungi 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 linii ศ™i familii de coloane.

Urmฤƒtoarele sunt comenzi pentru managementul 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ฤƒ ne uitฤƒm la utilizarea diferitelor comenzi รฎn HBase cu un exemplu.

Creazฤƒ

Syntax: create <tablename>, <columnfamilyname>

Comenzi de gestionare a tabelelor: Creare

Exemplu:-

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

Exemplul de mai sus explicฤƒ cum sฤƒ creaศ›i un tabel รฎn HBase cu numele specificat dat conform dicศ›ionarului sau specificaศ›iilor conform familiei de coloane. รŽn plus faศ›ฤƒ de aceasta, putem trece ศ™i unele atribute de tip table-scope รฎn el.

Pentru a verifica dacฤƒ tabelul โ€žeducaศ›ieโ€ este sau nu creat, trebuie sฤƒ folosim "listฤƒ" comanda aศ™a cum este menศ›ionat mai jos.

Listฤƒ

Syntax:list

Comenzi de gestiune tabele : Listฤƒ

  • Comanda โ€žListโ€ va afiศ™a toate tabelele care sunt prezente sau create รฎn HBase
  • Ieศ™irea afiศ™atฤƒ รฎn captura de ecran de mai sus aratฤƒ รฎn prezent tabelele existente รฎn HBase
  • Aici, รฎn aceastฤƒ capturฤƒ de ecran, aratฤƒ cฤƒ existฤƒ un total de 8 tabele prezente รฎn interiorul HBase
  • Putem filtra valorile de ieศ™ire din tabele prin transmiterea unor parametri opศ›ionali de expresie regulatฤƒ

Descrieti

Syntax:describe <table name>

Comenzi de gestionare a tabelelor : Descrieศ›i

hbase(main):010:0>describe 'education'

Aceastฤƒ comandฤƒ descrie tabelul numit.

  • Acesta va oferi mai multe informaศ›ii despre familiile de coloane prezente รฎn tabelul menศ›ionat
  • รŽn cazul nostru, oferฤƒ descrierea despre tabelul โ€žeducaศ›ieโ€.
  • Acesta va oferi informaศ›ii despre numele tabelului cu familiile de coloane, filtrele asociate, versiunile ศ™i cรขteva detalii suplimentare.

dezactivaศ›i

Syntax: disable <tablename>

Comenzi de gestionare a tabelelor: Dezactivare

hbase(main):011:0>disable 'education'
  • Aceastฤƒ comandฤƒ va รฎncepe sฤƒ dezactiveze tabelul numit
  • Dacฤƒ tabelul trebuie ศ™ters sau abandonat, mai รฎntรขi trebuie sฤƒ fie dezactivat

Aici, รฎn captura de ecran de mai sus, dezactivฤƒm educaศ›ia la masฤƒ

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 cu comanda de ศ™tergere (cu excepศ›ia adฤƒugฤƒrii regex pentru potrivire)
  • Odatฤƒ ce tabelul este dezactivat, utilizatorul poate ศ™terge tabelul din HBase
  • รŽnainte de ศ™tergere sau eliminareping tabel, ar trebui dezactivat mai รฎntรขi

Permite

Syntax: enable <tablename>

Comenzi de gestionare a tabelelor : Activare

hbase(main):012:0>enable 'education'
  • Aceastฤƒ comandฤƒ va รฎncepe sฤƒ activeze tabelul numit
  • Indiferent de tabelฤƒ care este dezactivatฤƒ, pentru a reveni la starea anterioarฤƒ, folosim aceastฤƒ comandฤƒ
  • Dacฤƒ un tabel este dezactivat รฎn primฤƒ instanศ›ฤƒ ศ™i nu este ศ™ters sau abandonat ศ™i dacฤƒ dorim sฤƒ reutilizam 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

Comenzi de gestiune a tabelelor : show_filters

Aceastฤƒ comandฤƒ afiศ™eazฤƒ toate filtrele prezente รฎn HBase, cum ar fi ColumnPrefix Filter, TimestampsFilter, PageFilter, FamilyFilter etc.

picฤƒturฤƒ

Syntax:drop <table name>

Comenzi de gestionare a tabelelor: Drop

hbase(main):017:0>drop 'education'

Trebuie sฤƒ observฤƒm punctele de mai jos pentru comanda drop

  • Pentru a ศ™terge tabelul prezent รฎn HBase, mai รฎntรขi trebuie sฤƒ รฎl dezactivฤƒm
  • Pentru a renunศ›a la tabelul prezent รฎn HBase, mai รฎntรขi trebuie sฤƒ-l dezactivฤƒm
  • Deci, fie tabelul pentru a arunca sau ศ™terge mai รฎntรขi tabelul ar trebui sฤƒ fie dezactivat folosind comanda disable
  • Aici, รฎn captura de ecran de mai sus, suntem dropaศ›iping tabelul โ€žeducaศ›ieโ€.
  • รŽnainte de executarea acestei comenzi, este necesar sฤƒ dezactivaศ›i tabelul โ€žeducaศ›ieโ€.

drop_all

Syntax: drop_all<"regex">
  • Aceastฤƒ comandฤƒ va elimina toate tabelele care se potrivesc cu expresia regex datฤƒ
  • Tabelele trebuie sฤƒ se dezactiveze mai รฎntรขi รฎnainte de a executa aceastฤƒ comandฤƒ folosind disable_all
  • Tabelele cu expresii de potrivire regex 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ศ›iunea de comandฤƒ โ€žactivareโ€ ศ™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ศ›ii de modificare a comenzii pe tabele ศ™i pe coloanele sale. Vom efectua operaศ›iuni de genul

  • Modificarea numelor de familie cu o singurฤƒ coloanฤƒ ศ™i mai multe
  • ศ˜tergerea numelor de familie de coloane din tabel
  • Cรขteva alte operaศ›iuni care folosesc atribute scope cu tabel
  1. Pentru a modifica sau adฤƒuga familia de coloane โ€žguru99_1โ€ รฎn tabelul โ€žeducaศ›ieโ€ de la valoarea actualฤƒ, pentru a pฤƒstra maximum 5 celule VERSIUNI,
  • โ€žeducaศ›ieโ€ este numele tabelului creat anterior cu numele coloanei โ€žguru99โ€.
  • Aici, cu ajutorul unei comenzi alter, รฎncercฤƒm sฤƒ schimbฤƒm schema familiei de coloane la guru99_1 din guru99

Comenzi de gestiune tabele : Alter

hbase> alter 'education', NAME='guru99_1', VERSIONS=>5
  1. De asemenea, puteศ›i opera comanda alter ศ™i pe mai multe familii de coloane. De exemplu, vom defini douฤƒ noi coloane รฎn tabelul nostru existent โ€žeducaศ›ieโ€.
 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}

Comenzi de gestiune tabele : Alter

  • Putem schimba 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 de coloane noi pe care le-am definit pentru educaศ›ia tabelului
  • Putem vedea modul de utilizare a acestei comenzi รฎn captura de ecran anterioarฤƒ
  1. รŽn acest pas, vom vedea cum sฤƒ ศ™tergem familia de coloane din tabel. Pentru a ศ™terge familia de coloane โ€žf1โ€ din tabelul โ€žeducaศ›ieโ€.

Utilizaศ›i una dintre aceste comenzi de mai jos,

hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1'
  • รŽn aceastฤƒ comandฤƒ, รฎncercฤƒm sฤƒ ศ™tergem numele spaศ›iului de coloanฤƒ guru99_1 pe care l-am creat anterior la primul pas

Comenzi de gestiune tabele : Alter

  1. Dupฤƒ cum se aratฤƒ รฎn capturile de ecran de mai jos, aratฤƒ doi paศ™i โ€“ cum sฤƒ schimbaศ›i atributul domeniului tabelului ศ™i cum sฤƒ eliminaศ›i atributul domeniului tabelului.
Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'

Comenzi de gestiune tabele : Alter

Pas 1) Puteศ›i modifica atributele tabelului precum MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH etc. Acestea pot fi puse la sfรขrศ™it; de exemplu, pentru a schimba dimensiunea maximฤƒ a unei regiuni la 128MB sau orice altฤƒ valoare de memorie folosim aceastฤƒ comandฤƒ.

Utilizare:

  • Putem folosi MAX_FILESIZE cu tabelul ca atribut scope ca mai sus
  • Numฤƒrul reprezentat รฎn MAX_FILESIZE este รฎn termeni de memorie รฎn octeศ›i

NOTE: Domeniul tabelului de atribute MAX_FILESIZE va fi determinat de unele atribute prezente รฎn HBase. MAX_FILESIZE intrฤƒ, de asemenea, รฎn atributele domeniului tabelului.

Pas 2) De asemenea, puteศ›i elimina un atribut table-scope folosind metoda table_att_unset. Dacฤƒ vedeศ›i comanda

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • Captura de ecran de mai sus aratฤƒ numele tabelului modificat cu atributele domeniului
  • Metoda table_att_unset este folositฤƒ pentru a anula atributele prezente รฎn tabel
  • A doua instanศ›ฤƒ dezactivฤƒm atributul MAX_FILESIZE
  • Dupฤƒ executarea comenzii, pur ศ™i simplu va dezactiva atributul MAX_FILESIZE din tabelul โ€žeducaศ›ieโ€.

alter_status

 Syntax: alter_status 'education'

Comenzi de management al tabelelor : alter_status

  • Prin aceastฤƒ comandฤƒ, puteศ›i obศ›ine starea comenzii de modificare
  • Care indicฤƒ numฤƒrul de regiuni ale tabelului care au primit numele tabelului de trecere a schemei actualizat
  • Aici, รฎn captura de ecran de mai sus, aratฤƒ 1/1 regiuni actualizate. รŽnseamnฤƒ cฤƒ a actualizat o regiune. Dupฤƒ aceea, dacฤƒ reuศ™eศ™te, va afiศ™a comentariul terminat.

Comenzi de manipulare a datelor

Aceste comenzi vor funcศ›iona pe tabelul legat de manipulฤƒrile de date, cum ar fi introducerea datelor รฎntr-un tabel, preluarea datelor dintr-un tabel ศ™i ศ™tergerea schemei etc.

Comenzile intrฤƒ sub acestea sunt

  • Conta
  • Pune
  • Obศ›ine
  • ศ˜terge
  • Sterge tot
  • Trunchia
  • Scanda

Sฤƒ ne uitฤƒm la utilizarea acestor comenzi cu un exemplu.

Conta

Syntax: count <'tablename'>, CACHE =>1000
  • Comanda va prelua numฤƒrul unui numฤƒr de rรขnduri dintr-un tabel. Valoarea returnatฤƒ de acesta este numฤƒrul de rรขnduri.
  • Numฤƒrul curent este afiศ™at implicit la 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 Cache-ul corect.

Exemplu:

Conta

hbase> count 'guru99', CACHE=>1000

Acest exemplu de numฤƒrare preia 1000 de rรขnduri odatฤƒ din โ€žGuruMasฤƒ de 99โ€.

Putem face cache la o valoare mai micฤƒ dacฤƒ tabelul constฤƒ din mai multe rรขnduri.

Dar implicit va prelua cรขte un rรขnd.

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

Dacฤƒ presupunem cฤƒ tabelul โ€žGuru99โ€ avรขnd o referinศ›ฤƒ la tabel, cum ar fi, sฤƒ zicem, g.

Putem rula comanda count pe referinศ›a tabelului, de asemenea, 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 folositฤƒ pentru urmฤƒtoarele lucruri

  • Va pune o โ€žvaloareโ€ celulei la un tabel, un rรขnd sau o coloanฤƒ definite sau specificate.
  • Opศ›ional va coordona ศ™tampila de timp.

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

Pune

  • Sฤƒ presupunem cฤƒ tabelul โ€žGuru99โ€ avรขnd o referinศ›ฤƒ la tabel, cum ar fi g. Putem rula comanda ศ™i pe o referinศ›ฤƒ la tabel, de exemplu
    hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
  • Ieศ™irea 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 โ€žscanareโ€. รŽn captura de ecran de mai jos, putem vedea cฤƒ valorile sunt introduse corect

Pune

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 aceste lucruri

  • Aici creฤƒm un tabel numit โ€žguru99โ€ cu numele coloanei โ€žEduโ€.
  • Folosind comanda โ€žputโ€, plasฤƒm valori รฎn numele rรขndului r1 din coloana โ€žEduโ€ รฎn tabelul โ€žguru99โ€.

Obศ›ine

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

Aici includ TIMERANGE, TIMESTAMP, VERSIONS ศ™i FILTRE.

Folosind aceastฤƒ comandฤƒ, veศ›i obศ›ine un conศ›inut de rรขnd sau celulฤƒ prezent รฎn tabel. รŽn plus, puteศ›i adฤƒuga ศ™i parametri suplimentari, cum ar fi TIMESTAMP, TIMERANGE, VERSIONS, FILTERS etc. pentru a obศ›ine un anumit rรขnd sau conศ›inut de celulฤƒ.

Obศ›ine

Exemple:-

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

Pentru tabelul โ€žguru99โ€ฒ valorile rรขndului r1 ศ™i coloana 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 r1 ale rรขndului vor fi afiศ™ate folosind aceastฤƒ comandฤƒ

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

Pentru tabelul โ€žguru99โ€ rรขndul 1, valorile din intervalul de timp ts1 ศ™i ts2 vor fi afiศ™ate folosind aceastฤƒ comandฤƒ

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

Pentru tabelul โ€žguru99โ€ rรขndul r1 ศ™i familiile de coloane, valorile c1, c2, c3 vor fi afiศ™ate folosind aceastฤƒ comandฤƒ

ศ˜terge

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • Aceastฤƒ comandฤƒ va ศ™terge valoarea celulei din tabelul definit de rรขnd sau coloanฤƒ.
  • ศ˜tergerea trebuie ศ™i ar trebui sฤƒ se potriveascฤƒ exact cu coordonatele celulelor ศ™terse.
  • La scanare, ศ™tergerea celulei suprimฤƒ versiunile mai vechi ale valorilor.

ศ˜terge

Exemplu:

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ศ›ฤƒ de tabel, cum ar fi g.
  • Putem rula comanda pe referinศ›a tabelului, de asemenea hbase> g.delete 'guru99', 'r1', 'c1โ€ฒโ€.

sterge tot

Syntax: deleteall <'tablename'>, <'rowname'>

Sterge tot

  • Aceastฤƒ comandฤƒ va ศ™terge toate celulele dintr-un rรขnd dat.
  • Putem defini opศ›ional nume de coloane ศ™i marca temporalฤƒ pentru sintaxฤƒ.

Exemplu:-

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

Aceasta va ศ™terge toate rรขndurile ศ™i coloanele prezente รฎn tabel. Opศ›ional, putem menศ›iona numele coloanelor รฎn acestea.

Trunchia

Syntax:  truncate <tablename>

Trunchia

Dupฤƒ trunchierea unui tabel hbase, schema va prezenta, dar nu ศ™i รฎnregistrฤƒrile. Aceastฤƒ comandฤƒ รฎndeplineศ™te 3 funcศ›ii; acestea sunt enumerate mai jos

  • Dezactiveazฤƒ tabelul dacฤƒ este deja prezentat
  • Aruncฤƒ masa dacฤƒ este deja prezentatฤƒ
  • Recreeazฤƒ tabelul menศ›ionat

Scanda

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

Aceastฤƒ comandฤƒ scaneazฤƒ รฎntregul tabel ศ™i afiศ™eazฤƒ conศ›inutul tabelului.

  • 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'

Ieศ™irea ca mai jos este prezentatฤƒ รฎn captura de ecran

Scanda

รŽn captura de ecran de mai sus

  • Afiศ™eazฤƒ tabelul โ€žguru99โ€ cu numele ศ™i valorile coloanei
  • Este alcฤƒtuit din trei valori de rรขnd r1, r2, 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 metadate legate de coloanele care sunt prezente รฎn tabelele din HBase
scaneazฤƒ 'guru99', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'} Afiศ™eazฤƒ conศ›inutul tabelului guru99 cu familiile lor de coloane c1 ศ™i c2 limitรขnd valorile la 10
scaneazฤƒ 'guru99', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]} Afiศ™eazฤƒ conศ›inutul guru99 cu numele de coloanฤƒ c1 cu valorile prezente รฎntre valoarea atributului de 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 tabel ศ™i plasaศ›i valori รฎn tabel

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

Capturฤƒ de ecran de intrare:

Exemplu de scanare

Dacฤƒ rulฤƒm comanda de scanare

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

Va afiศ™a rezultatul prezentat mai jos.

Capturฤƒ de ecran de ieศ™ire:

Exemplu de scanare

Rezultatul afiศ™at รฎn captura de ecran de mai sus oferฤƒ urmฤƒtoarele informaศ›ii

  • Scanare tabel guru99 cu atribute 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ฤƒ
  • Ieศ™irea afiศ™atฤƒ de acesta este aleatorie; nu poate fi aceeaศ™i ordine cu valorile pe care le-am introdus รฎn tabel

Cluster Comenzi de replicare

  • Aceste comenzi funcศ›ioneazฤƒ รฎn modul de configurare a clusterului al HBase.
  • Pentru adฤƒugarea ศ™i eliminarea peer-urilor รฎn cluster ศ™i pentru a porni ศ™i opri replicarea, aceste comenzi sunt utilizate รฎn general.
Comandฤƒ Funcศ›ionalitate
add_peer Adฤƒugaศ›i peers la cluster pentru a le replica

hbase> add_peer '3', zk1,zk2,zk3:2182:/hbase-prod

remove_peer Opreศ™te fluxul de replicare definit.

ศ˜terge toate informaศ›iile despre metadate despre peer

hbase> remove_peer '1'

start_replication Reporneศ™te toate caracteristicile de replicare

hbase> start_replication

stop_replication Opreศ™te toate caracteristicile de replicare

hbase>stop_replication

Rezumat

Comenzile generale ศ™i shell-ul HBase oferฤƒ informaศ›ii complete despre diferitele tipuri de manipulare a datelor, gestionarea tabelelor ศ™i comenzile de replicare a clusterului. Putem efectua diverse funcศ›ii folosind aceste comenzi pe tabele prezente รฎn HBase.

Rezumaศ›i aceastฤƒ postare cu: