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 |
























