HBase-Shell-Befehle mit Beispielen
โก Intelligente Zusammenfassung
Mit den HBase-Shell-Befehlen kรถnnen Sie Tabellen und Daten direkt รผber eine interaktive Eingabeaufforderung verwalten. Die Befehle sind in allgemeine Befehle, Tabellenverwaltungsbefehle wie create und drop, Datenmanipulationsbefehle wie put und get sowie Cluster-Replikationsbefehle unterteilt.

Wie man mit HBase รผber Shell-Befehle interagiert und Java API
Nach erfolgreicher Installation von HBase auf Hadoop steht uns eine interaktive Shell zur Verfรผgung, mit der wir verschiedene Befehle ausfรผhren und diverse Operationen durchfรผhren kรถnnen. Mithilfe dieser Befehle kรถnnen wir mehrere Operationen an Datentabellen vornehmen, was zu einer hรถheren Datenspeichereffizienz und einer flexibleren Interaktion fรผr den Client fรผhrt.
Wir kรถnnen auf zwei Arten mit HBase interagieren:
- HBase interaktiver Shell-Modus und
- Durch Java API.
In HBase wird der interaktive Shell-Modus fรผr die Interaktion mit HBase verwendet, um Tabellenoperationen durchzufรผhren, Tabellen zu verwalten und Daten zu modellieren. Java Mithilfe des API-Modells kรถnnen wir alle Arten von Tabellen- und Datenoperationen in HBase durchfรผhren. Die Interaktion mit HBase ist รผber beide Methoden mรถglich. Der einzige Unterschied zwischen den beiden Methoden besteht darin, dassโฆ Java API-Nutzung Java Der Code dient zur Verbindung mit HBase, wรคhrend im Shell-Modus Shell-Befehle verwendet werden, um eine Verbindung zu HBase herzustellen.
Kurze Zusammenfassung von HBase, bevor wir fortfahren:
- HBase verwendet Hadoop Dateien werden als Speichersystem zur Speicherung groรer Datenmengen verwendet. HBase besteht aus Master-Servern und Region-Servern.
- Die in HBase gespeicherten Daten liegen in Form von Regionen vor. Diese Regionen werden wiederum aufgeteilt und auf mehreren Regionsservern gespeichert.
- Mithilfe dieser Shell-Befehle kann der Programmierer Tabellenschemata und Datenoperationen รผber die vollstรคndige Shell-Interaktion definieren.
- Welchen Befehl wir auch verwenden, er wird sich im HBase-Datenmodell widerspiegeln.
- Wir verwenden HBase-Shell-Befehle in Betriebssystem-Skriptinterpretern wie der Bash-Shell.
- Die Bash-Shell ist der Standard-Befehlsinterpreter fรผr die meisten Systeme. Linux und Unix-Betriebssystemdistributionen.
- Erweiterte Versionen von HBase bieten Shell-Befehle mit objektorientierten Referenzen im JRuby-Stil fรผr Tabellen.
- Tabellenreferenzvariablen kรถnnen verwendet werden, um Datenoperationen im HBase-Shell-Modus durchzufรผhren.
Beispielsweise:
- In diesem Tutorial haben wir eine Tabelle erstellt, in der โeducationโ den Tabellennamen darstellt und dem Spaltennamen โguru99โ entspricht.
- Bei einigen Befehlen steht โguru99โ selbst fรผr einen Tabellennamen.
Allgemeine Befehle
In HBase werden allgemeine Befehle in folgende Befehlskategorien unterteilt:
- Status
- Version
- Table_help (Scannen, Lรถschen, Abrufen, Setzen, Deaktivieren usw.)
- Wer bin ich
Um den HBase-Shell-Befehl aufzurufen, mรผssen wir zunรคchst den unten genannten Code ausfรผhren.
hbase Shell
Sobald wir die HBase-Shell geรถffnet haben, kรถnnen wir alle unten aufgefรผhrten Shell-Befehle ausfรผhren. Mithilfe dieser Befehle kรถnnen wir alle Arten von Tabellenoperationen im HBase-Shell-Modus durchfรผhren. Die interaktive Shell-Eingabeaufforderung sieht wie folgt aus:
Schauen wir uns alle diese Befehle und ihre Verwendung einzeln anhand eines Beispiels an.
Status
Syntax:status
Dieser Befehl liefert Details zum Systemstatus, wie die Anzahl der Server im Cluster, die Anzahl der aktiven Server und die durchschnittliche Auslastung. Je nachdem, wie detailliert die Statusinformationen sein sollen, kรถnnen Sie weitere Parameter angeben. Die Parameter kรถnnen โsummaryโ, โsimpleโ oder โdetailedโ sein; standardmรครig wird โsummaryโ verwendet.
Im Folgenden zeigen wir, wie Sie verschiedene Parameter an den Statusbefehl รผbergeben kรถnnen. Der folgende Screenshot veranschaulicht dies.
hbase(main):001:0>status hbase(main):002:0>status 'simple' hbase(main):003:0>status 'summary' hbase(main):004:0> status 'detailed'
Die Statusausgabe wird unten angezeigt:
Wenn wir diesen Statusbefehl ausfรผhren, erhalten wir Informationen รผber die Anzahl der verfรผgbaren und ausgefallenen Server sowie die durchschnittliche Serverlast. Der Screenshot zeigt beispielsweise 1 aktiven Server, 1 ausgefallenen Server und eine durchschnittliche Last von 7.0000.
Version
Syntax: version
Die Versionsausgabe wird unten angezeigt:
- Dieser Befehl zeigt die aktuell verwendete HBase-Version im Befehlsmodus an.
- Wenn Sie den Befehl version ausfรผhren, erhalten Sie die oben gezeigte Ausgabe.
Tabellenhilfe
Syntax:table_help
Die Ausgabe von table_help wird unten angezeigt:
Diese Befehlsanleitung lautet:
- Was tabellenbezogene Befehle sind und wie man sie verwendet.
- Es werden verschiedene Verwendungsmรถglichkeiten der HBase-Shell-Befehle und deren Syntaxen bereitgestellt.
- Der obige Screenshot zeigt die Syntax der Befehle โcreateโ und โget_tableโ sowie deren Verwendung. Sobald die Tabelle in HBase erstellt wurde, kรถnnen wir sie mithilfe dieser Befehle bearbeiten.
- Es liefert Befehle zur Tabellenmanipulation wie put, get und alle anderen Befehlsinformationen.
whoami
Syntax: Whoami
Die Ausgabe von whoami wird unten angezeigt:
Der Befehl โwhoamiโ dient dazu, die aktuellen HBase-Benutzerinformationen des HBase-Clusters abzurufen. Er liefert unter anderem folgende Informationen:
- In HBase vorhandene Gruppen.
- Die Benutzerinformationen; in diesem Fall steht beispielsweise โhduserโ fรผr den Benutzernamen, wie im Screenshot dargestellt.
TTL (Time To Live) โ Attribut
In HBase kรถnnen Spaltenfamilien mithilfe von TTL (Time-to-Live) auf Zeitwerte in Sekunden gesetzt werden. HBase lรถscht Zeilen automatisch, sobald die Ablaufzeit erreicht ist. Dieses Attribut gilt fรผr alle Versionen einer Zeile, auch fรผr die aktuelle.
Die in HBase fรผr die Zeile kodierte TTL-Zeit wird in UTC angegeben. Dieses Attribut wird bei Tabellenverwaltungsbefehlen verwendet. Wichtige Unterschiede zwischen der TTL-Behandlung und den TTL-Werten fรผr Spaltenfamilien sind nachfolgend aufgefรผhrt:
- Zellen-TTLs werden in Millisekunden statt in Sekunden ausgedrรผckt.
- Die effektive Lebensdauer einer Zelle kann durch eine TTL-Einstellung auf Spaltenfamilienebene nicht verlรคngert werden.
Tabellenverwaltungsbefehle
Mithilfe dieser Befehle kรถnnen Programmierer Tabellen und Tabellenschemata mit Zeilen- und Spaltenfamilien erstellen. Im Folgenden sind die Befehle zur Tabellenverwaltung aufgefรผhrt:
- Erschaffung
- Liste
- Beschreiben
- Deaktivieren
- Alle deaktivieren
- Ermรถglichen
- Alle aktivieren
- Drop
- Drop_all
- Filter anzeigen
- Alter
- Alter_status
Betrachten wir anhand eines Beispiels verschiedene Befehlsverwendungen in HBase.
Erschaffung
Syntax: create <tablename>, <columnfamilyname>
Beispiel:-
hbase(main):001:0> create 'education' ,'guru99' 0 rows(s) in 0.312 seconds =>Hbase::Table โ education
Das Ergebnis des Erstellungsbefehls wird unten angezeigt:
Das obige Beispiel erklรคrt, wie man in HBase eine Tabelle mit dem angegebenen Namen gemรคร den Spezifikationen fรผr jede Spaltenfamilie erstellt. Zusรคtzlich kรถnnen auch Tabellenattribute รผbergeben werden. Um zu รผberprรผfen, ob die Tabelle โeducationโ erstellt wurde, verwenden wir den unten stehenden Befehl โlistโ. Siehe auch Erstellen von HBase-Tabellen mit Java und Shell.
Liste
Syntax:list
Die Ausgabeliste wird unten angezeigt:
- Der Befehl โlistโ zeigt alle Tabellen an, die in HBase vorhanden oder erstellt wurden.
- Die im obigen Screenshot dargestellte Ausgabe zeigt aktuell die in HBase vorhandenen Tabellen an.
- Hier, in diesem Screenshot, ist zu sehen, dass in HBase insgesamt 8 Tabellen vorhanden sind.
- Wir kรถnnen Ausgabewerte aus Tabellen filtern, indem wir optionale regulรคre Ausdrucksparameter รผbergeben.
Beschreiben
Syntax:describe <table name>
hbase(main):010:0>describe 'education'
Die Ausgabe von describe wird unten angezeigt:
Dieser Befehl beschreibt die benannte Tabelle.
- Es liefert weitere Informationen รผber die in der genannten Tabelle enthaltenen Spaltenfamilien.
- In unserem Fall liefert es die Beschreibung der Tabelle โBildungโ.
- Es liefert Informationen รผber den Tabellennamen mit Spaltenfamilien, zugehรถrigen Filtern, Versionen und weiteren Details.
deaktivieren
Syntax: disable <tablename>
hbase(main):011:0>disable 'education'
Die deaktivierte Ausgabe wird unten angezeigt:
- Dieser Befehl deaktiviert die angegebene Tabelle.
- Wenn eine Tabelle gelรถscht oder entfernt werden soll, muss sie vorher deaktiviert werden.
Hier, im obigen Screenshot, deaktivieren wir die Tabelle โBildungโ.
Alle deaktivieren
Syntax: disable_all<"matching regex"
- Dieser Befehl deaktiviert alle Tabellen, die der angegebenen Regex entsprechen.
- Die Implementierung ist die gleiche wie beim Befehl โdropโ (mit Ausnahme des Hinzufรผgens eines regulรคren Ausdrucks fรผr die รbereinstimmung).
- Sobald die Tabelle deaktiviert ist, kann der Benutzer die Tabelle aus HBase lรถschen.
- Vor dem Lรถschen oder Ablegenping Eine Tabelle, die zuerst deaktiviert werden sollte.
Ermรถglichen
Syntax: enable <tablename>
hbase(main):012:0>enable 'education'
Die Ausgabe der Aktivierungsfunktion wird unten angezeigt:
- Mit diesem Befehl wird die angegebene Tabelle aktiviert.
- Um die deaktivierte Tabelle wieder in ihren vorherigen Zustand zu versetzen, verwenden wir diesen Befehl.
- Wenn eine Tabelle zunรคchst deaktiviert und nicht gelรถscht oder entfernt wurde und wir die deaktivierte Tabelle wiederverwenden mรถchten, mรผssen wir sie mit diesem Befehl aktivieren.
- Hier, im obigen Screenshot, aktivieren wir die Tabelle โBildungโ.
Filter anzeigen
Syntax: show_filters
Die Ausgabe von show_filters wird unten angezeigt:
Dieser Befehl zeigt alle in HBase vorhandenen Filter an, wie z. B. ColumnPrefixFilter, TimestampsFilter, PageFilter, FamilyFilter usw.
fallen lassen
Syntax:drop <table name>
hbase(main):017:0>drop 'education'
Die Tropfenausgabe wird unten angezeigt:
Fรผr den Drop-Befehl sind folgende Punkte zu beachten:
- Um die in HBase vorhandene Tabelle zu lรถschen, mรผssen wir sie zuerst deaktivieren.
- Um die in HBase vorhandene Tabelle zu lรถschen, mรผssen wir sie zuerst deaktivieren.
- Um eine Tabelle zu lรถschen oder zu entfernen, muss die Tabelle zuerst mit dem Befehl disable deaktiviert werden.
- Hier, im obigen Screenshot, lassen wir etwas fallen.ping die Tabelle โBildungโ.
- Vor der Ausfรผhrung dieses Befehls muss die Tabelle โeducationโ deaktiviert werden.
drop_all
Syntax: drop_all<"regex">
- Dieser Befehl lรถscht alle Tabellen, die dem angegebenen regulรคren Ausdruck entsprechen.
- Vor der Ausfรผhrung dieses Befehls mรผssen die Tabellen mit disable_all deaktiviert werden.
- Tabellen mit regulรคren Ausdrรผcken werden aus HBase entfernt.
aktiviert
Syntax: is_enabled 'education'
Dieser Befehl รผberprรผft, ob die angegebene Tabelle aktiviert ist oder nicht. Normalerweise herrscht etwas Verwirrung zwischen den Befehlen โenableโ und โis_enabledโ, die wir hier aufklรคren:
- Angenommen, eine Tabelle ist deaktiviert; um diese Tabelle zu verwenden, mรผssen wir sie mit dem Befehl enable aktivieren.
- Der Befehl is_enabled prรผft, ob die Tabelle aktiviert ist oder nicht.
รคndern
Syntax: alter <tablename>, NAME=><column familyname>, VERSIONS=>5
Dieser Befehl รคndert das Spaltenfamilienschema. Um zu verstehen, was es genau macht, haben wir es hier anhand eines Beispiels erklรคrt.
Beispiele: In diesen Beispielen fรผhren wir ALTER-Befehlsoperationen auf Tabellen und deren Spalten durch. Wir fรผhren Operationen wie die folgenden durch:
- รndern von Spaltenfamiliennamen (einzeln und mehrspaltig).
- Lรถschen von Spaltenfamiliennamen aus einer Tabelle.
- Mehrere weitere Operationen, die Bereichsattribute mit einer Tabelle verwenden.
Um die Spaltenfamilie โguru99_1โ in der Tabelle โeducationโ zu รคndern oder hinzuzufรผgen, sodass maximal 5 Zellversionen erhalten bleiben. Hierbei ist โeducationโ der Tabellenname, der zuvor mit dem Spaltennamen โguru99โ erstellt wurde. Mithilfe eines ALTER-Befehls versuchen wir, das Schema der Spaltenfamilie von โguru99โ auf โguru99_1โ zu รคndern, wie unten dargestellt:
hbase> alter 'education', NAME='guru99_1', VERSIONS=>5
Sie kรถnnen den Befehl ALTER auch auf mehrere Spaltenfamilien anwenden. Beispielsweise definieren wir zwei neue Spalten fรผr unsere bestehende Tabelle โeducationโ, wie unten dargestellt:
hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}
- Mit diesem Befehl kรถnnen wir mehrere Spaltenschemata gleichzeitig รคndern.
- Wie im obigen Screenshot zu sehen, sind guru99_2 und guru99_3 die beiden neuen Spaltennamen, die wir fรผr die Tabelle education definiert haben.
- Im vorherigen Screenshot kรถnnen wir sehen, wie dieser Befehl verwendet wird.
In diesem Schritt erfahren Sie, wie Sie eine Spaltenfamilie aus der Tabelle lรถschen. Um die Spaltenfamilie โf1โ in der Tabelle โeducationโ zu lรถschen, verwenden Sie einen der folgenden Befehle. Das Ergebnis sehen Sie im folgenden Screenshot:
hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1'
Mit diesem Befehl versuchen wir, den Spaltenbereich โguru99_1โ zu lรถschen, den wir im ersten Schritt erstellt haben. Wie in den folgenden Screenshots dargestellt, werden zwei Schritte gezeigt: das รndern und das Entfernen eines Tabellenbereichsattributs.
Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'
Schritt 1) โโSie kรถnnen Tabellenbereichsattribute wie MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH usw. รคndern. Diese kรถnnen am Ende eingefรผgt werden; um beispielsweise die maximale Grรถรe einer Region auf 128 MB oder einen anderen Speicherwert zu รคndern, verwenden wir diesen Befehl.
Verwendung:
- Wir kรถnnen MAX_FILESIZE mit der Tabelle als Bereichsattribut verwenden, wie oben beschrieben.
- Die in MAX_FILESIZE dargestellte Zahl gibt den Speicherplatz in Bytes an.
HINWEIS: Der Tabellenbereich MAX_FILESIZE wird durch bestimmte Attribute in HBase bestimmt. MAX_FILESIZE gehรถrt ebenfalls zu den Tabellenbereichsattributen.
Schritt 2) Sie kรถnnen ein Tabellenattribut auch mithilfe der Methode table_att_unset entfernen. Siehe den folgenden Befehl:
alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
- Der obige Screenshot zeigt den geรคnderten Tabellennamen mit Bereichsattributen.
- Die Methode table_att_unset wird verwendet, um in der Tabelle vorhandene Attribute zu entfernen.
- Im zweiten Fall wird das Attribut MAX_FILESIZE deaktiviert.
- Nach Ausfรผhrung des Befehls wird einfach das Attribut MAX_FILESIZE aus der Tabelle โeducationโ entfernt.
alter_status
Syntax: alter_status 'education'
Die Ausgabe von alter_status wird unten angezeigt:
- Mit diesem Befehl kรถnnen Sie den Status des รnderungsbefehls abrufen.
- Es gibt die Anzahl der Tabellenbereiche an, die das aktualisierte Schema erhalten haben. Sie รผbergeben den Tabellennamen.
- Im obigen Screenshot ist zu sehen, dass 1 von 1 Regionen aktualisiert wurde. Das bedeutet, dass eine Region aktualisiert wurde. Anschlieรend wird bei erfolgreicher Aktualisierung die Meldung โFertigโ angezeigt.
Befehle zur Datenmanipulation
Diese Befehle dienen der Datenmanipulation in Tabellen, z. B. dem Einfรผgen und Abrufen von Daten sowie dem Lรถschen von Schemaelementen. Zu diesen Befehlen gehรถren:
- Zu Zรคhlen
- setzen
- Erhalten Sie
- Lรถschen
- Lรถsche alles
- Kรผrzen
- Scannen
Lassen Sie uns die Verwendung dieser Befehle anhand eines Beispiels betrachten. Siehe auch Lesen und Schreiben von HBase-Daten.
Zu Zรคhlen
Syntax: count <'tablename'>, CACHE =>1000
- Der Befehl ermittelt die Anzahl der Zeilen in einer Tabelle. Der zurรผckgegebene Wert ist die Anzahl der Zeilen.
- Die aktuelle Anzahl wird standardmรครig pro 1000 Zeilen angezeigt.
- Das Zรคhlintervall kann optional angegeben werden.
- Die Standard-Cachegrรถรe betrรคgt 10 Zeilen.
- Der Befehl โcountโ arbeitet schnell, wenn er mit dem richtigen Cache konfiguriert ist.
Ejemplo:
hbase> count 'guru99', CACHE=>1000
Die Zรคhlergebnisse werden unten angezeigt:
Dieses Beispiel ruft jeweils 1000 Zeilen aus der Tabelle โguru99โ ab. Bei einer grรถรeren Tabellengrรถรe kann der Cache-Wert reduziert werden. Standardmรครig wird jedoch jeweils nur eine Zeile abgerufen.
hbase>count 'guru99', INTERVAL => 100000 hbase> count 'guru99', INTERVAL =>10, CACHE=> 1000
Angenommen, die Tabelle โguru99โ enthรคlt eine Tabellenreferenz, beispielsweise g. Wir kรถnnen den Befehl โcountโ auch auf die Tabellenreferenz anwenden, wie unten gezeigt:
hbase>g.count INTERVAL=>100000 hbase>g.count INTERVAL=>10, CACHE=>1000
setzen
Syntax: put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>
Dieser Befehl wird fรผr folgende Zwecke verwendet:
- Es wird einen Zellwert in eine definierte oder angegebene Tabelle, Zeile oder Spalte einfรผgen.
- Optional wird ein Zeitstempel hinzugefรผgt.
Beispiel: Hier tragen wir Werte in die Tabelle โguru99โ in Zeile r1 und Spalte c1 ein.
hbase> put 'guru99', 'r1', 'c1', 'value', 10
Wir haben in der Tabelle โguru99โ drei Werte, 10, 15 und 30, eingetragen, wie im folgenden Screenshot dargestellt.
Angenommen, die Tabelle โguru99โ enthรคlt eine Tabellenreferenz, beispielsweise g. Wir kรถnnen den Befehl auch auf die Tabellenreferenz anwenden, etwa so:
hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
Die Ausgabe sieht nach dem Einfรผgen von Werten in โguru99โ wie im obigen Screenshot aus. Um zu รผberprรผfen, ob der Eingabewert korrekt in die Tabelle eingefรผgt wurde, verwenden wir den Befehl โscanโ. Im folgenden Screenshot ist zu sehen, dass die Werte korrekt eingefรผgt wurden.
Code Ausschnitt: Zum รben
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
Aus dem Codeausschnitt geht Folgendes hervor:
- Hier erstellen wir eine Tabelle mit dem Namen โguru99โ und dem Spaltennamen โEduโ.
- Mit dem Befehl โputโ fรผgen wir Werte in die Zeile r1 in der Spalte โEduโ der Tabelle โguru99โ ein.
Erhalten Sie
Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}
Hier, Mit diesem Befehl erhalten Sie den Inhalt einer Zeile oder Zelle in der Tabelle. Zusรคtzlich kรถnnen Sie weitere Parameter wie TIMESTAMP, TIMERANGE, VERSIONS, FILTERS usw. hinzufรผgen, um den Inhalt einer bestimmten Zeile oder Zelle zu ermitteln.
Die folgende Ausgabe liefert die Werte fรผr Zeile r1 und Spalte c1:
Beispiele:-
hbase> get 'guru99', 'r1', {COLUMN => 'c1'}
Fรผr die Tabelle โguru99โ werden mit diesem Befehl die Werte der Zeile r1 und Spalte c1 angezeigt, wie im obigen Screenshot dargestellt.
hbase> get 'guru99', 'r1'
Mit diesem Befehl werden die Werte der Zeile r1 der Tabelle โguru99โ angezeigt.
hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}
Mit diesem Befehl werden fรผr die Tabelle โguru99โ die Werte der Zeile r1 im Zeitbereich ts1 bis ts2 angezeigt.
hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}
Mit diesem Befehl werden fรผr die Tabelle โguru99โ die Werte der Zeile r1 und der Spaltenfamilien c1, c2 und c3 angezeigt.
Lรถschen
Syntax:delete <'tablename'>,<'row name'>,<'column name'>
- Dieser Befehl lรถscht den Zellenwert in einer definierten Tabellenzeile oder -spalte.
- Die Lรถschmarkierung muss und sollte exakt mit den Koordinaten der zu lรถschenden Zelle รผbereinstimmen.
- Beim Scannen werden durch das Lรถschen einer Zelle รคltere Versionen von Werten unterdrรผckt.
Beispiel: Der folgende Befehl โdeleteโ entfernt die Zelle r1, c1 aus der Tabelle guru99:
hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
- Die obige Ausfรผhrung lรถscht die Zeile r1 aus der Spaltenfamilie c1 in der Tabelle โguru99โ.
- Angenommen, die Tabelle โguru99โ enthรคlt eine Tabellenreferenz, beispielsweise g.
- Wir kรถnnen den Befehl auch auf die Tabellenreferenz anwenden, zum Beispiel hbase> g.delete 'guru99', 'r1', 'c1โฒ".
alles lรถschen
Syntax: deleteall <'tablename'>, <'rowname'>
- Dieser Befehl lรถscht alle Zellen in einer bestimmten Zeile.
- Optional kรถnnen wir in der Syntax Spaltennamen und einen Zeitstempel definieren.
Beispiel: Der folgende Befehl deleteall entfernt alle Zellen in Zeile r1:
hbase>deleteall 'guru99', 'r1', 'c1'
Dadurch werden alle Zeilen und Spalten der Tabelle gelรถscht. Optional kรถnnen dabei Spaltennamen angegeben werden.
Kรผrzen
Syntax: truncate <tablename>
Der unten stehende Befehl zum Abschneiden leert die Tabelle, wรคhrend sie erhalten bleibt.ping sein Schema:
Nach dem Abschneiden einer HBase-Tabelle ist das Schema zwar noch vorhanden, die Datensรคtze jedoch nicht. Dieser Befehl fรผhrt drei Funktionen aus; diese sind im Folgenden aufgefรผhrt:
- Deaktiviert die Tabelle, falls sie bereits existiert.
- Lรถscht die Tabelle, falls sie bereits existiert.
- Erstellt die erwรคhnte Tabelle neu.
Scannen
Syntax: scan <'tablename'>, {Optional parameters}
Dieser Befehl durchsucht die gesamte Tabelle und zeigt deren Inhalt an.
- Wir kรถnnen diesem Scan-Befehl mehrere optionale Spezifikationen รผbergeben, um weitere Informationen รผber die im System vorhandenen Tabellen zu erhalten.
- Die Scannerspezifikationen kรถnnen eines oder mehrere der folgenden Attribute umfassen.
- Dies sind TIMERANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW und STOPROW.
scan 'guru99'
Die Scan-Ausgabe wird unten angezeigt:
Im obigen Screenshot:
- Es zeigt die Tabelle โguru99โ mit Spaltennamen und Werten an.
- Es besteht aus drei Zeilenwerten, r1, r2 und r3, fรผr den einzelnen Spaltenwert c1.
- Es zeigt die den Zeilen zugeordneten Werte an.
Beispiele: - Die verschiedenen Verwendungsmรถglichkeiten des Scan-Befehls:
| Befehl | Anwendungsbereich |
|---|---|
| scanne '.META.', {COLUMNS => 'info:regioninfo'} | Es zeigt alle Metadateninformationen zu den Spalten an, die in den Tabellen in HBase vorhanden sind. |
| scanne 'guru99', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'} | Es zeigt den Inhalt der Tabelle guru99 mit ihren Spaltenfamilien c1 und c2 an, wobei die Werte auf 10 begrenzt sind. |
| scanne 'guru99', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]} | Es zeigt den Inhalt von guru99 mit dem Spaltennamen c1 an, wobei die Werte innerhalb des angegebenen Zeitbereichsattributs liegen. |
| scanne 'guru99', {RAW => true, VERSIONS =>10} | Bei diesem Befehl bietet RAW=> true eine erweiterte Funktion, wie z. B. die Anzeige aller in der Tabelle vorhandenen Zellwerte guru99. |
Code Beispiel: Erstellen Sie zunรคchst eine Tabelle und tragen Sie Werte in diese ein. Die Eingabe wird im folgenden Screenshot dargestellt:
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
Wenn wir den Scan-Befehl ausfรผhren:
Query: scan 'guru99', {RAW=>true, VERSIONS=>1000}
Es wird die unten dargestellte Ausgabe angezeigt:
Die im obigen Screenshot dargestellte Ausgabe liefert folgende Informationen:
- Die Tabelle guru99 wird mit den Attributen RAW=>true und VERSIONS=>1000 durchsucht.
- Zeilen mit Spaltenfamilien und Werten anzeigen.
- In der dritten Zeile werden die in der Spalte vorhandenen gelรถschten Werte angezeigt.
- Die Ausgabe ist zufรคllig; sie kann nicht in der gleichen Reihenfolge sein wie die Werte, die wir in die Tabelle eingefรผgt haben.
Cluster Replikationsbefehle
- Diese Befehle funktionieren im Cluster-Setup-Modus von HBase.
- Zum Hinzufรผgen und Entfernen von Peers zu einem Cluster sowie zum Starten und Stoppen der Replikation werden im Allgemeinen diese Befehle verwendet.
| Befehl | Funktionalitรคt |
|---|---|
| add_peer | Fรผgt einem Cluster Peers zur Replikation hinzu. hbase> add_peer '3', zk1,zk2,zk3:2182:/hbase-prod |
| Remove_Peer | Stoppt den definierten Replikationsstream und lรถscht alle Metadateninformationen รผber den Peer. hbase> remove_peer '1' |
| start_replication | Startet alle Replikationsfunktionen neu. hbase> start_replication |
| stop_replication | Unterbindet sรคmtliche Replikationsfunktionen. hbase>stop_replication |























