HBase-Shell-Befehle mit Beispielen

Inhaltsverzeichnis:

Anonim

Nach erfolgreicher Installation von HBase auf Hadoop erhalten wir eine interaktive Shell, mit der verschiedene Befehle ausgeführt und mehrere Vorgänge ausgeführt werden können. Mit diesen Befehlen können wir mehrere Operationen an Datentabellen ausführen, die eine bessere Effizienz der Datenspeicherung und eine flexible Interaktion des Clients ermöglichen.

Wir können auf zwei Arten mit HBase interagieren:

  • HBase interaktiver Shell-Modus und
  • Über die Java-API

In HBase wird der interaktive Shell-Modus verwendet, um mit HBase für Tabellenoperationen, Tabellenverwaltung und Datenmodellierung zu interagieren. Mithilfe des Java-API-Modells können wir alle Arten von Tabellen- und Datenoperationen in HBase ausführen. Mit diesen beiden Methoden können wir mit HBase interagieren.

Der einzige Unterschied zwischen diesen beiden besteht darin, dass die Java-API Java-Code für die Verbindung mit HBase verwendet und der Shell-Modus Shell-Befehle verwendet, um eine Verbindung mit HBase herzustellen.

Schnelle Überkapselung von HBase, bevor wir fortfahren

  • HBase verwendet Hadoop-Dateien als Speichersystem, um die großen Datenmengen zu speichern. Hbase besteht aus Master-Servern und Regions-Servern
  • Die Daten, die in HBase gespeichert werden, werden in Form von Regionen gespeichert. Ferner werden diese Regionen aufgeteilt und auf mehreren Regionsservern gespeichert
  • Mit diesen Shell-Befehlen kann der Programmierer Tabellenschemata und Datenoperationen mithilfe der vollständigen Interaktion im Shell-Modus 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 Standardbefehlsinterpreter für die meisten Linux- und Unix-Betriebssystemdistributionen
  • Die erweiterten HBase-Versionen bieten Shell-Befehle für objektorientierte Referenzen im jruby-Stil für Tabellen
  • Tabellenreferenzvariablen können verwendet werden, um Datenoperationen im HBase-Shell-Modus auszuführen

Zum Beispiel :

  • In diesem Tutorial haben wir eine Tabelle erstellt, in der 'Bildung' den Tabellennamen darstellt und dem Spaltennamen "guru99" entspricht.
  • In einigen Befehlen repräsentiert "guru99" selbst einen Tabellennamen.

In diesem Tutorial lernen Sie:

  • Allgemeine Befehle
  • Tabellenverwaltungsbefehle
  • Datenmanipulationsbefehle
  • Cluster-Replikationsbefehle

Allgemeine Befehle

In Hbase werden allgemeine Befehle in folgende Befehle eingeteilt

  • Status
  • Ausführung
  • Table_help (scannen, löschen, abrufen, setzen, deaktivieren usw.)
  • Wer bin ich

Um in den HBase-Shell-Befehl einzutreten, müssen wir zunächst den Code wie unten beschrieben ausführen

hbase Shell

Sobald wir in die HBase-Shell eintreten, können wir alle unten genannten Shell-Befehle ausführen. Mit Hilfe dieser Befehle können wir alle Arten von Tabellenoperationen im HBase-Shell-Modus ausführen.

Lassen Sie uns alle diese Befehle und ihre Verwendung einzeln anhand eines Beispiels untersuchen.

Status

Syntax:status

Dieser Befehl enthält Details zum Systemstatus, z. B. die Anzahl der im Cluster vorhandenen Server, die Anzahl der aktiven Server und den durchschnittlichen Auslastungswert. Sie können auch bestimmte Parameter übergeben, je nachdem, wie detailliert der Status des Systems sein soll. Die Parameter können "Zusammenfassung", "Einfach" oder "Detailliert" sein . Der Standardparameter ist "Zusammenfassung".

Im Folgenden haben wir gezeigt, wie Sie verschiedene Parameter an den Statusbefehl übergeben können.

Wenn wir den folgenden Screenshot betrachten, erhalten wir eine bessere Vorstellung.

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

Wenn wir diesen Befehlsstatus ausführen, werden Informationen über die Anzahl der vorhandenen Server, tote Server und die durchschnittliche Auslastung des Servers angezeigt. Hier im Screenshot werden Informationen wie 1 Live-Server, 1 tote Server und 7.0000 durchschnittliche Auslastung angezeigt.

Ausführung

Syntax: version

  • Dieser Befehl zeigt die aktuell verwendete HBase-Version im Befehlsmodus an
  • Wenn Sie den Versionsbefehl ausführen, wird die Ausgabe wie oben gezeigt ausgegeben

Tabellenhilfe

Syntax:table_help

Dieser Befehl führt

  • Was und wie werden tabellenbezogene Befehle verwendet?
  • Es werden verschiedene HBase-Shell-Befehlsverwendungen und deren Syntax bereitgestellt
  • Hier in der Abbildung oben wird die Syntax für die Befehle " create" und " get_table" bei ihrer Verwendung angezeigt . Wir können die Tabelle über diese Befehle bearbeiten, sobald die Tabelle in HBase erstellt wurde.
  • Es gibt Tabellenmanipulationsbefehle wie put, get und alle anderen Befehlsinformationen.

Wer bin ich

Syntax:

Syntax: Whoami

Dieser Befehl "whoami" wird verwendet, um die aktuellen HBase-Benutzerinformationen aus dem HBase-Cluster zurückzugeben.

Es wird Informationen wie zur Verfügung stellen

  • In HBase vorhandene Gruppen
  • Die Benutzerinformationen, zum Beispiel in diesem Fall "hduser", stellen den Benutzernamen dar, wie in der Abbildung gezeigt

TTL (Time To Live) - Attribut

In HBase können Spaltenfamilien mithilfe von TTL auf Zeitwerte in Sekunden festgelegt werden. HBase löscht automatisch Zeilen, sobald die Ablaufzeit erreicht ist. Dieses Attribut gilt für alle Versionen einer Zeile - auch für die aktuelle Version.

Die in der HBase für die Zeile codierte TTL-Zeit wird in UTC angegeben. Dieses Attribut wird mit Tabellenverwaltungsbefehlen verwendet.

Nachfolgend sind wichtige Unterschiede zwischen der TTL-Behandlung und den TTLs der Spaltenfamilie aufgeführt

  • Zell-TTLs werden in Einheiten von Millisekunden anstelle von Sekunden ausgedrückt.
  • TTLs einer Zelle können die effektive Lebensdauer einer Zelle nicht über eine TTL-Einstellung auf Spaltenfamilienebene hinaus verlängern.

Tabellenverwaltungsbefehle

Mit diesen Befehlen können Programmierer Tabellen und Tabellenschemata mit Zeilen- und Spaltenfamilien erstellen.

Das Folgende sind Tabellenverwaltungsbefehle

  • Erstellen
  • Liste
  • Beschreiben
  • Deaktivieren
  • Alle deaktivieren
  • Aktivieren
  • Alle aktivieren
  • Fallen
  • Drop_all
  • Filter anzeigen
  • Ändern
  • Alter_status

Lassen Sie uns anhand eines Beispiels verschiedene Befehlsverwendungen in HBase untersuchen.

Erstellen

Syntax: create 
, 

Beispiel:-

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

Im obigen Beispiel wird erläutert, wie Sie eine Tabelle in HBase mit dem angegebenen Namen erstellen, der gemäß dem Wörterbuch oder den Spezifikationen gemäß der Spaltenfamilie angegeben wurde. Darüber hinaus können wir auch einige Tabellenbereichsattribute übergeben.

Um zu überprüfen, ob die Tabelle 'Bildung' erstellt wurde oder nicht, müssen wir den Befehl "list" wie unten erwähnt verwenden.

Liste

Syntax:list

  • Der Befehl "Liste" zeigt alle Tabellen an, die in HBase vorhanden sind oder erstellt wurden
  • Die im obigen Screenshot gezeigte Ausgabe zeigt derzeit die vorhandenen Tabellen in HBase
  • Hier in diesem Screenshot zeigt es, dass in HBase insgesamt 8 Tabellen vorhanden sind
  • Wir können Ausgabewerte aus Tabellen filtern, indem wir optionale Parameter für reguläre Ausdrücke übergeben

Beschreiben

Syntax:describe 

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

Dieser Befehl beschreibt die benannte Tabelle.

  • Weitere Informationen zu Spaltenfamilien finden Sie in der genannten Tabelle
  • In unserem Fall enthält es die Beschreibung der Tabelle "Bildung".
  • Es enthält Informationen zum Tabellennamen mit Spaltenfamilien, zugehörigen Filtern, Versionen und einigen weiteren Details.

deaktivieren

Syntax: disable 

hbase(main):011:0>disable 'education'
  • Dieser Befehl deaktiviert die benannte Tabelle
  • Wenn eine Tabelle gelöscht oder gelöscht werden muss, muss sie zuerst deaktiviert werden

Hier im obigen Screenshot deaktivieren wir die Tabellenerziehung

Alle deaktivieren

 Syntax: disable_all<"matching regex"
  • Dieser Befehl deaktiviert alle Tabellen, die dem angegebenen regulären Ausdruck entsprechen.
  • Die Implementierung entspricht dem Befehl delete (außer das Hinzufügen von Regex zum Abgleichen)
  • Sobald die Tabelle deaktiviert ist, kann der Benutzer die Tabelle aus HBase löschen
  • Vor dem Löschen oder Löschen einer Tabelle sollte diese zuerst deaktiviert werden

Aktivieren

Syntax: enable 

hbase(main):012:0>enable 'education'
  • Dieser Befehl aktiviert die benannte Tabelle
  • Unabhängig davon, welche Tabelle deaktiviert ist, verwenden wir diesen Befehl, um zum vorherigen Status zurückzukehren
  • Wenn eine Tabelle in erster Instanz deaktiviert und nicht gelöscht oder gelöscht wird 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

Dieser Befehl zeigt alle in HBase vorhandenen Filter wie ColumnPrefix Filter, TimestampsFilter, PageFilter, FamilyFilter usw. an.

fallen

Syntax:drop 

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

Wir müssen die folgenden Punkte für den Drop-Befehl 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
  • Daher sollte entweder die Tabelle, die zuerst gelöscht oder gelöscht werden soll, mit dem Befehl disable deaktiviert werden
  • Hier im obigen Screenshot lassen wir die Tabelle "Bildung" fallen.
  • Bevor Sie diesen Befehl ausführen, müssen Sie die Tabelle "Bildung" deaktivieren.

drop_all

Syntax: drop_all<"regex">
  • Dieser Befehl löscht alle Tabellen, die dem angegebenen regulären Ausdruck entsprechen
  • Tabellen müssen zuerst deaktiviert werden, bevor dieser Befehl mit disable_all ausgeführt werden kann
  • Tabellen mit Regex-Übereinstimmungsausdrücken werden aus HBase entfernt

aktiviert

Syntax: is_enabled 'education'

Dieser Befehl überprüft, ob die benannte Tabelle aktiviert ist oder nicht. Normalerweise gibt es eine kleine Verwechslung zwischen der Befehlsaktion "enable" und "is_enabled", die wir hier löschen

  • Angenommen, eine Tabelle ist deaktiviert. Um diese Tabelle zu verwenden, müssen Sie sie mit dem Befehl enable aktivieren
  • Der Befehl is_enabled überprüft, ob die Tabelle aktiviert ist oder nicht

ändern

Syntax: alter 
, NAME=>, VERSIONS=>5

Dieser Befehl ändert das Spaltenfamilienschema. Um zu verstehen, was genau es tut, haben wir es hier anhand eines Beispiels erklärt.

Beispiele:

In diesen Beispielen werden wir Änderungsbefehlsoperationen für Tabellen und deren Spalten ausführen. Wir werden Operationen wie durchführen

  • Ändern einzelner, mehrspaltiger Familiennamen
  • Löschen von Spaltenfamiliennamen aus der Tabelle
  • Mehrere andere Operationen, die Bereichsattribute mit Tabelle verwenden
  1. Um die Spaltenfamilie 'guru99_1' in der Tabelle 'education' vom aktuellen Wert zu ändern oder hinzuzufügen, um maximal 5 Zellenversionen beizubehalten ,
  • "Bildung" ist ein Tabellenname, der zuvor mit dem Spaltennamen "guru99" erstellt wurde
  • Hier versuchen wir mit Hilfe eines alter-Befehls, das Spaltenfamilienschema von guru99 in guru99_1 zu ändern

hbase> alter 'education', NAME='guru99_1', VERSIONS=>5
  1. Sie können den Befehl alter auch für mehrere Spaltenfamilien ausführen. Zum Beispiel werden wir zwei neue Spalten in unserer bestehenden Tabelle "Bildung" definieren.
 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}

  • Mit diesem Befehl können mehrere Spaltenschemata gleichzeitig geändert werden
  • guru99_2 und guru99_3, wie im obigen Screenshot gezeigt, sind die beiden neuen Spaltennamen, die wir für die Tabellenerziehung definiert haben
  • Wir können die Verwendung dieses Befehls im vorherigen Screenshot sehen
  1. In diesem Schritt erfahren Sie, wie Sie die Spaltenfamilie aus der Tabelle löschen. So löschen Sie die Spaltenfamilie 'f1' in der Tabelle 'Bildung'.

Verwenden Sie einen der folgenden Befehle:

hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1' 
  • In diesem Befehl versuchen wir, den Spaltenraumnamen guru99_1 zu löschen, den wir zuvor im ersten Schritt erstellt haben

  1. Wie in den folgenden Screenshots gezeigt, werden zwei Schritte gezeigt: Ändern des Tabellenbereichsattributs und Entfernen des 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 gesetzt werden, um beispielsweise die maximale Größe einer Region auf 128 MB oder einen anderen von uns verwendeten Speicherwert zu ändern Befehl.

Verwendung:

  • Wir können MAX_FILESIZE mit der Tabelle als Bereichsattribut wie oben verwenden
  • Die in MAX_FILESIZE dargestellte Zahl bezieht sich auf den Speicher in Bytes

N OTE: MAX_FILESIZE Attributtabelle Umfang wird bestimmt , indem einige in der vorliegenden HBase zuschreibt. MAX_FILESIZE fallen auch unter Tabellenbereichsattribute.

Schritt 2) Sie können ein Tabellenbereichsattribut auch mit der Methode table_att_unset entfernen. Wenn Sie den Befehl sehen

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 deaktivieren
  • In der zweiten Instanz deaktivieren wir das Attribut MAX_FILESIZE
  • Nach der Ausführung des Befehls wird das Attribut MAX_FILESIZE einfach aus der Tabelle "education" entfernt.

alter_status

 Syntax: alter_status 'education'

  • Über diesen Befehl können Sie den Status des Befehls alter abrufen
  • Dies gibt die Anzahl der Regionen der Tabelle an, die den aktualisierten Namen der Schema-Pass-Tabelle erhalten haben
  • Hier im obigen Screenshot werden 1/1 Regionen aktualisiert. Dies bedeutet, dass eine Region aktualisiert wurde. Wenn dies erfolgreich ist, wird der Kommentar "Fertig" angezeigt.

Datenmanipulationsbefehle

Diese Befehle wirken sich auf die Tabelle aus, die sich auf Datenmanipulationen bezieht, z. B. das Einfügen von Daten in eine Tabelle, das Abrufen von Daten aus einer Tabelle und das Löschen von Schemata usw.

Die Befehle fallen unter diese sind

  • Anzahl
  • Stellen
  • Erhalten
  • Löschen
  • Alles löschen
  • Kürzen
  • Scan

Schauen wir uns die Verwendung dieser Befehle anhand eines Beispiels an.

Anzahl

Syntax: count <'tablename'>, CACHE =>1000
  • Der Befehl ruft die Anzahl einer Anzahl von Zeilen in einer Tabelle ab. Der von diesem zurückgegebene Wert ist die Anzahl der Zeilen.
  • Die aktuelle Anzahl wird standardmäßig alle 1000 Zeilen angezeigt.
  • Das Zählintervall kann optional angegeben werden.
  • Die Standard-Cache-Größe beträgt 10 Zeilen.
  • Der Befehl Count funktioniert schnell, wenn er mit dem richtigen Cache konfiguriert ist.

Beispiel:

hbase> count 'guru99', CACHE=>1000

Diese Beispielanzahl ruft jeweils 1000 Zeilen aus der "Guru99" -Tabelle ab.

Wir können den Cache auf einen niedrigeren Wert bringen, wenn die Tabelle aus mehr Zeilen besteht.

Standardmäßig wird jedoch jeweils eine Zeile abgerufen.

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

Wenn angenommen wird, dass die Tabelle "Guru99" eine Tabellenreferenz hat, wie z. B. g.

Wir können den Befehl count für die Tabellenreferenz wie folgt ausführen

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

Stellen

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

Dieser Befehl wird verwendet, um folgende Dinge zu tun

  • Es wird ein Zellenwert in eine definierte oder angegebene Tabelle, Zeile oder Spalte eingefügt.
  • Optional wird der Zeitstempel koordiniert.

Beispiel:

  • Hier platzieren wir Werte in der Tabelle "guru99" unter Zeile r1 und Spalte c1
    hbase> put 'guru99', 'r1', 'c1', 'value', 10
  • Wir haben drei Werte, 10, 15 und 30, in die Tabelle "guru99" eingefügt, wie im folgenden Screenshot gezeigt

  • Angenommen, die Tabelle "Guru99" hat eine Tabellenreferenz wie z. B. g. Wir können den Befehl auch auf Tabellenreferenz wie auch ausführen

    hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
  • Die Ausgabe erfolgt wie im obigen Screenshot gezeigt, nachdem Werte in "guru99" eingegeben wurden.

Um zu überprüfen, ob der Eingabewert korrekt in die Tabelle eingefügt wurde, verwenden wir den Befehl "scan". Im folgenden Screenshot sehen wir, dass die Werte korrekt eingefügt wurden

Code-Snippet: Zum Üben

create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}put 'guru99', 'r1', 'Edu:c1', 'value', 10put 'guru99', 'r1', 'Edu:c1', 'value', 15put 'guru99', 'r1', 'Edu:c1', 'value', 30

Aus dem Code-Snippet machen wir diese Dinge

  • Hier erstellen wir eine Tabelle mit dem Namen 'guru99' mit dem Spaltennamen "Edu".
  • Mit dem Befehl "put" platzieren wir Werte in den Zeilennamen r1 in der Spalte "Edu" in der Tabelle "guru99".

Erhalten

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

Hier umfassen TIMERANGE, TIMESTAMP, VERSIONS und FILTER.

Mit diesem Befehl erhalten Sie einen Zeilen- oder Zelleninhalt in der Tabelle. Darüber hinaus können Sie zusätzliche Parameter wie TIMESTAMP, TIMERANGE, VERSIONS, FILTERS usw. hinzufügen, um einen bestimmten Zeilen- oder Zelleninhalt abzurufen.

Beispiele: -

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

Für die Tabelle "guru99" werden die Werte für Zeile r1 und Spalte c1 mit diesem Befehl angezeigt, wie im obigen Screenshot gezeigt

hbase> get 'guru99', 'r1'

Für die Tabelle "guru99" werden in der Zeile r1 Werte mit diesem Befehl angezeigt

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

Für die Tabelle "guru99" werden mit diesem Befehl Werte in Zeile 1 im Zeitbereich ts1 und ts2 angezeigt

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

Für die Tabelle "guru99" werden die Werte c1, c2, c3 der Zeilen r1 und Spaltenfamilien mit diesem Befehl angezeigt

Löschen

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • Dieser Befehl löscht den Zellenwert in der definierten Tabelle der Zeile oder Spalte.
  • Löschen muss und sollte genau mit den Koordinaten der gelöschten Zellen übereinstimmen.
  • Beim Scannen werden durch Löschen von Zellen ältere Versionen von Werten unterdrückt.

Beispiel:

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" hat eine Tabellenreferenz wie beispielsweise g.
  • Wir können den Befehl auf Tabellenreferenz auch wie hbase> g.delete 'guru99', 'r1', 'c1' "ausführen.

alles löschen

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

  • Dieser Befehl löscht alle Zellen in einer bestimmten Zeile.
  • Wir können optional Spaltennamen und Zeitstempel für die Syntax definieren.

Beispiel:-

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

Dadurch werden alle in der Tabelle vorhandenen Zeilen und Spalten gelöscht. Optional können wir darin Spaltennamen erwähnen.

Kürzen

Syntax: truncate 

Nach dem Abschneiden einer hbase-Tabelle werden im Schema die Datensätze angezeigt, nicht jedoch die Datensätze. Dieser Befehl führt 3 Funktionen aus. diese sind unten aufgeführt

  • Deaktiviert die Tabelle, wenn sie bereits vorhanden ist
  • Löscht die Tabelle, wenn sie bereits vorhanden ist
  • Stellt die erwähnte Tabelle wieder her

Scan

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

Dieser Befehl durchsucht die gesamte Tabelle und zeigt den Tabelleninhalt an.

  • Wir können diesem Scan-Befehl mehrere optionale Spezifikationen übergeben, um weitere Informationen zu den im System vorhandenen Tabellen zu erhalten.
  • Die Scannerspezifikationen können eines oder mehrere der folgenden Attribute enthalten.
  • Dies sind TIMERANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW und STOPROW.
scan 'guru99' 

Die Ausgabe wie unten im Screenshot gezeigt

Im obigen Screenshot

  • Es zeigt die Tabelle "guru99" mit Spaltennamen und Werten
  • Es besteht aus drei Zeilenwerten r1, r2, r3 für den einspaltigen Wert c1
  • Es zeigt die mit Zeilen verknüpften Werte an

Beispiele: -

Die verschiedenen Verwendungen des Scan-Befehls

Befehl

Verwendung

scanne '.META.', {COLUMNS => 'info: regioninfo'}

Es werden alle Metadateninformationen zu Spalten angezeigt, 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 werden

scanne 'guru99', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}

Es zeigt den Inhalt von guru99 mit seinem Spaltennamen c1 mit den Werten an, die zwischen dem genannten Zeitbereichsattributwert liegen

scanne 'guru99', {RAW => true, VERSIONS => 10}

In diesem Befehl bietet RAW => true eine erweiterte Funktion zum Anzeigen aller in der Tabelle guru99 vorhandenen Zellenwerte

Codebeispiel:

Erstellen Sie zuerst eine Tabelle und platzieren Sie Werte in der Tabelle

create 'guru99', {NAME=>'e', VERSIONS=>2147483647}put 'guru99', 'r1', 'e:c1', 'value', 10put 'guru99', 'r1', 'e:c1', 'value', 12put 'guru99', 'r1', 'e:c1', 'value', 14delete 'guru99', 'r1', 'e:c1', 11

Eingabe-Screenshot:

Wenn wir den Scan-Befehl ausführen

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

Die unten gezeigte Ausgabe wird angezeigt.

Ausgabe-Screenshot:

Die im obigen Screenshot gezeigte Ausgabe enthält die folgenden Informationen

  • Scannen der Guru99-Tabelle mit den Attributen RAW => true, VERSIONS => 1000
  • Anzeigen von Zeilen mit Spaltenfamilien und Werten
  • In der dritten Zeile zeigen die angezeigten Werte den gelöschten Wert in der Spalte
  • Die von ihm angezeigte Ausgabe ist zufällig; Es kann nicht dieselbe 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 zum Cluster sowie zum Starten und Stoppen der Replikation werden diese Befehle im Allgemeinen verwendet.

Befehl

Funktionalität

add_peer

Fügen Sie dem Cluster Peers hinzu, um sie zu replizieren

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

remove_peer

Stoppt den definierten Replikationsstrom.

Löscht alle Metadateninformationen zum Peer

hbase> remove_peer '1'

start_replication

Startet alle Replikationsfunktionen neu

hbase> start_replication

stop_replication

Stoppt alle Replikationsfunktionen

hbase> stop_replication

Zusammenfassung :

HBase-Shell- und allgemeine Befehle bieten vollständige Informationen zu verschiedenen Arten von Datenmanipulations-, Tabellenverwaltungs- und Clusterreplikationsbefehlen. Mit diesen Befehlen können wir verschiedene Funktionen für in HBase vorhandene Tabellen ausführen.