HBase-Shell-Befehle mit Beispielen

Nach der erfolgreichen Installation von HBase auf Hadoop erhalten wir eine interaktive Shell, um verschiedene Befehle auszuführen und mehrere Operationen durchzuführen. Mit diesen Befehlen können wir mehrere Operationen an Datentabellen durchführen, die eine bessere Datenspeichereffizienz und eine flexible Interaktion durch den Client ermöglichen.

Wir können auf zwei Arten mit HBase interagieren:

  • HBase interaktiver Shell-Modus und
  • Durch Java API

In HBase wird der interaktive Shell-Modus zur Interaktion mit HBase für Tabellenoperationen, Tabellenverwaltung und Datenmodellierung verwendet. Durch die Verwendung Java API-Modell, wir können alle Arten von Tabellen- und Datenoperationen in HBase durchführen. Wir können mit beiden Methoden mit HBase interagieren.

Der einzige Unterschied zwischen diesen beiden ist Java Die API verwendet Java-Code, um eine Verbindung mit HBase herzustellen, und der Shell-Modus verwendet Shell-Befehle, um eine Verbindung mit HBase herzustellen.

Schnelle Überkapazität von HBase, bevor wir fortfahren.

  • HBase verwendet Hadoop Dateien als Speichersystem zur Speicherung großer Datenmengen. Hbase besteht aus Masterservern und Regionsservern
  • Die Daten, die in HBase gespeichert werden, liegen in Form von Regionen vor. Darüber hinaus werden diese Regionen aufgeteilt und auf mehreren Regionsservern gespeichert
  • Mit diesem Shell-Befehl kann der Programmierer Tabellenschemata und Datenoperationen definieren und dabei die vollständige Shell-Modus-Interaktion nutzen.
  • 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 für die meisten der Standard-Befehlsinterpreter Linux und Unix Betriebsausschüttungen
  • Die erweiterten HBase-Versionen bieten Shell-Befehle im JRuby-Stil, objektorientierte Referenzen für Tabellen
  • Tabellenreferenzvariablen können verwendet werden, um Datenoperationen im HBase-Shell-Modus durchzufü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 stellt „guru99“ selbst einen Tabellennamen dar.

Allgemeine Befehle

In Hbase werden allgemeine Befehle in folgende Befehle kategorisiert

  • Status
  • Version
  • Table_help (Scannen, Löschen, Abrufen, Setzen, Deaktivieren usw.)
  • Wer bin ich

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

Allgemeine Befehle

hbase Shell

Sobald wir die HBase-Shell betreten, 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.

Schauen wir uns alle diese Befehle und ihre Verwendung einzeln anhand eines Beispiels an.

Status

Syntax:status

Dieser Befehl gibt Details zum Systemstatus an, wie die Anzahl der im Cluster vorhandenen Server, die Anzahl der aktiven Server und den durchschnittlichen Lastwert. Sie können auch bestimmte Parameter übergeben, je nachdem, wie detailliert Sie den Status des Systems erfahren möchten. Die Parameter können sein „Zusammenfassung“, „einfach“ oder „detailliert“, der bereitgestellte Standardparameter ist „summary“.

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

Wenn wir uns den Screenshot unten ansehen, bekommen wir eine bessere Vorstellung.

Status

hbase(main):001:0>status
hbase(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 angezeigt wie: 1 Live-Server, 1 toter Server und 7.0000 durchschnittliche Auslastung.

Version

Syntax: version

Version

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

Tabellenhilfe

Syntax:table_help

Tabellenhilfe

Dieser Befehl führt

  • Was und wie werden tabellenreferenzierte Befehle verwendet?
  • Es stellt verschiedene HBase-Shell-Befehlsverwendungen und deren Syntax bereit
  • Hier im Screenshot oben wird die Syntax für „schaffen" und "get_table“ Befehl mit seiner Verwendung. Wir können die Tabelle über diese Befehle manipulieren, sobald die Tabelle in HBase erstellt wurde.
  • Es gibt Informationen zu Tabellenmanipulationsbefehlen wie Put, Get und allen anderen Befehlen.

whoami

Syntax:

Syntax: Whoami

Wer bin ich

Dieser Befehl „whoami“ wird verwendet, um die aktuellen HBase-Benutzerinformationen vom HBase-Cluster zurückzugeben.

Es werden Informationen bereitgestellt wie

  • In HBase vorhandene Gruppen
  • Die Benutzerinformationen, in diesem Fall beispielsweise „hduser“, stellen den Benutzernamen dar, wie im Screenshot gezeigt

TTL (Time To Live) – Attribut

In HBase können Spaltenfamilien mithilfe von TTL auf Zeitwerte in Sekunden eingestellt 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 Version.

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

Wichtige Unterschiede zwischen der TTL-Verarbeitung und den TTLs der Spaltenfamilie sind unten aufgeführt

  • Zellen-TTLs werden in Millisekunden statt in Sekunden ausgedrückt.
  • Eine Zellen-TTL kann 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.

Die folgenden Befehle sind Tabellenverwaltungsbefehle

  • Erstellen
  • Liste
  • Beschreiben
  • Deaktivieren
  • Alle deaktivieren
  • Ermöglichen
  • Alle aktivieren
  • Drop
  • Drop_all
  • Filter anzeigen
  • Ändern
  • Alter_status

Schauen wir uns anhand eines Beispiels die Verwendung verschiedener Befehle in HBase an.

Erstellen

Syntax: create <tablename>, <columnfamilyname>

Tabellenverwaltungsbefehle: Erstellen

Beispiel:-

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

Das obige Beispiel erläutert, wie eine Tabelle in HBase mit dem angegebenen Namen gemäß dem Wörterbuch oder den Spezifikationen gemäß der Spaltenfamilie erstellt wird. Darüber hinaus können wir auch einige Tabellenattribute übergeben.

Um zu überprüfen, ob die Tabelle „Bildung“ erstellt wurde oder nicht, müssen wir die verwenden "aufführen" Befehl wie unten erwähnt.

Liste

Syntax:list

Tabellenverwaltungsbefehle: Liste

  • Der Befehl „Liste“ zeigt alle Tabellen an, die in HBase vorhanden oder erstellt sind
  • Die im obigen Screenshot angezeigte Ausgabe zeigt derzeit die vorhandenen Tabellen in HBase
  • Hier in diesem Screenshot wird gezeigt, 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>

Tabellenverwaltungsbefehle: Beschreiben

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

Dieser Befehl beschreibt die benannte Tabelle.

  • Es enthält weitere Informationen zu den in der genannten Tabelle vorhandenen Spaltenfamilien
  • In unserem Fall handelt es sich um die Beschreibung der Tabelle „Bildung“.
  • Es enthält Informationen zum Tabellennamen mit Spaltenfamilien, zugehörigen Filtern, Versionen und einigen weiteren Details.

deaktivieren

Syntax: disable <tablename>

Tabellenverwaltungsbefehle: Deaktivieren

hbase(main):011:0>disable 'education'
  • Dieser Befehl beginnt mit der Deaktivierung der benannten 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 der angegebenen Regex entsprechen.
  • Die Implementierung ist dieselbe wie beim Löschbefehl (außer dem Hinzufügen von Regex zum Abgleich).
  • Sobald die Tabelle deaktiviert wird, kann der Benutzer die Tabelle aus HBase löschen
  • Vor dem Löschen oder Löschen einer Tabelle sollte diese zunächst deaktiviert werden

Ermöglichen

Syntax: enable <tablename>

Tabellenverwaltungsbefehle: Aktivieren

hbase(main):012:0>enable 'education'
  • Dieser Befehl beginnt mit der Aktivierung der benannten Tabelle
  • Unabhängig davon, welche Tabelle deaktiviert ist, verwenden wir diesen Befehl, um den vorherigen Zustand wiederherzustellen
  • Wenn eine Tabelle zunächst 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

Tabellenverwaltungsbefehle: show_filters

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

fallen lassen

Syntax:drop <table name>

Tabellenverwaltungsbefehle: Löschen

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 zunächst deaktivieren
  • Um die in HBase vorhandene Tabelle zu löschen, müssen wir sie zunächst 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 entfernen wir die Tabelle „Bildung“.
  • Bevor Sie diesen Befehl ausführen, müssen Sie die Tabelle „education“ deaktivieren.

drop_all

Syntax: drop_all<"regex">
  • Dieser Befehl löscht alle Tabellen, die der angegebenen Regex entsprechen
  • Tabellen müssen zuerst deaktiviert werden, bevor dieser Befehl mit „disable_all“ ausgeführt wird
  • Tabellen mit regulären Ausdrücken, die mit Ausdrücken übereinstimmen, werden aus HBase gelöscht

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 klären

  • Angenommen, eine Tabelle ist deaktiviert. Um diese Tabelle verwenden zu können, 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 werden wir alter-Befehlsoperationen an Tabellen und deren Spalten durchführen. Wir werden Operationen wie

  • Ändern einzelner oder mehrerer Spaltenfamiliennamen
  • Spaltenfamiliennamen aus der Tabelle löschen
  • Mehrere andere Operationen unter Verwendung von Bereichsattributen mit Tabellen
  1. Zum Ändern oder Hinzufügen der Spaltenfamilie „guru99_1“ in der Tabelle „education“ vom aktuellen Wert, um maximal 5 Zellversionen beizubehalten,
  • „Bildung“ ist der Tabellenname, der zuvor mit dem Spaltennamen „guru99“ erstellt wurde
  • Hier versuchen wir mit Hilfe eines alter-Befehls, das Spaltenfamilienschema von guru99 in guru1_99 zu ändern

Tabellenverwaltungsbefehle: Ändern

hbase> alter 'education', NAME='guru99_1', VERSIONS=>5
  1. Sie können den Befehl „alter“ auch auf mehrere Spaltenfamilien anwenden. Wir definieren beispielsweise zwei neue Spalten für unsere bestehende Tabelle „education“.
 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}

Tabellenverwaltungsbefehle: Ändern

  • Mit diesem Befehl können wir mehr als ein Spaltenschema gleichzeitig ändern
  • guru99_2 und guru99_3, wie im obigen Screenshot gezeigt, sind die beiden neuen Spaltennamen, die wir für die Tabelle „education“ definiert haben
  • Die Art und Weise, wie dieser Befehl verwendet wird, können Sie im vorherigen Screenshot sehen
  1. In diesem Schritt erfahren Sie, wie Sie die Spaltenfamilie aus der Tabelle löschen. Löschen der Spaltenfamilie „f1“ in der Tabelle „education“.

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

Tabellenverwaltungsbefehle: Ändern

  1. Wie in den folgenden Screenshots gezeigt, werden zwei Schritte gezeigt – wie man das Tabellenbereichsattribut ändert und wie man das Tabellenbereichsattribut entfernt.
Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'

Tabellenverwaltungsbefehle: Ändern

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 wie oben mit der Tabelle als Bereichsattribut verwenden
  • Die in MAX_FILESIZE dargestellte Zahl bezieht sich auf den Speicher in Bytes

NHINWEIS: Der Umfang der MAX_FILESIZE-Attributtabelle wird durch einige in der HBase vorhandene Attribute bestimmt. 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 Screenshot oben 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 „Bildung“ entfernt.

alter_status

 Syntax: alter_status 'education'

Tabellenverwaltungsbefehle: alter_status

  • Mit diesem Befehl können Sie den Status des Änderungsbefehls abrufen
  • Gibt die Anzahl der Regionen der Tabelle an, die den aktualisierten Schema-Pass-Tabellennamen erhalten haben
  • Hier im obigen Screenshot werden 1/1 Regionen aktualisiert. Das bedeutet, dass eine Region aktualisiert wurde. Danach wird bei Erfolg die Meldung „Kommentar erledigt“ angezeigt.

Befehle zur Datenmanipulation

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

Die Befehle fallen darunter

  • Zu Zählen
  • setzen
  • Erhalten Sie
  • Löschen
  • Lösche alles
  • Kürzen
  • Scannen

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

Zu Zählen

Syntax: count <'tablename'>, CACHE =>1000
  • Der Befehl ruft die Anzahl einer Reihe 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 Standardcachegröße beträgt 10 Zeilen.
  • Der Count-Befehl funktioniert schnell, wenn er mit dem richtigen Cache konfiguriert ist.

Beispiel:

Zu Zählen

hbase> count 'guru99', CACHE=>1000

Bei dieser Beispielzählung werden jeweils 1000 Zeilen aus der Tabelle „Guru99“ abgerufen.

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

Standardmäßig wird jedoch jeweils eine Zeile abgerufen.

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

Angenommen, die Tabelle „Guru99“ hat eine Tabellenreferenz wie beispielsweise g.

Wir können den Count-Befehl auch wie unten auf Tabellenreferenzen ausführen

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 Dinge verwendet

  • Es wird einen Zellwert in eine definierte oder angegebene Tabelle, Zeile oder Spalte einfügen.
  • Optional wird ein 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 Screenshot unten gezeigt

setzen

  • Angenommen, die Tabelle „Guru99“ hat eine Tabellenreferenz wie beispielsweise g. Wir können den Befehl auch gerne auf Tabellenreferenzen ausführen
    hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
  • Die Ausgabe wird wie im obigen Screenshot gezeigt aussehen, 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 können wir sehen, dass die Werte korrekt eingefügt wurden

setzen

Codeausschnitt: 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 hervor, dass wir diese Dinge tun

  • Hier erstellen wir eine Tabelle mit dem Namen „guru99“ und dem Spaltennamen „Edu“.
  • Mit dem Befehl „put“ platzieren wir Werte im Zeilennamen r1 in der Spalte „Edu“ in der Tabelle „guru99“.

Erhalten Sie

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

Hier umfassen TIMERANGE, TIMESTAMP, VERSIONS und FILTER.

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

Erhalten Sie

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 die Werte für Zeile r1 mit diesem Befehl angezeigt

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

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

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

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

Löschen

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

Löschen

Beispiel:

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
  • Durch die obige Ausführung wird Zeile r1 aus der Spaltenfamilie c1 in der Tabelle „guru99“ gelöscht.
  • Angenommen, die Tabelle „guru99“ hat eine Tabellenreferenz wie beispielsweise g.
  • Wir können den Befehl auch gerne auf Tabellenreferenzen ausführen hbase> g.lösche 'guru99', 'r1', 'c1′“.

alles löschen

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

Alles löschen

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

Kürzen

Nach dem Abschneiden einer hbase-Tabelle wird das Schema angezeigt, jedoch nicht die Datensätze. Dieser Befehl führt drei Funktionen aus; Diese sind unten aufgeführt

  • Deaktiviert die Tabelle, wenn sie bereits angezeigt wird
  • Löscht die Tabelle, wenn sie bereits vorhanden ist
  • Erstellt die erwähnte Tabelle neu

Scannen

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 ü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 Ausgabe ist wie unten im Screenshot dargestellt

Scannen

Im obigen Screenshot

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

Beispiele:-

Die verschiedenen Verwendungen des Scan-Befehls

Befehl Anwendungsbereich
scanne '.META.', {COLUMNS => 'info:regioninfo'} Es zeigt alle Metadateninformationen an, die sich auf Spalten beziehen, 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 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 wie die Anzeige aller in der Tabelle guru99 vorhandenen Zellwerte

Codebeispiel:

Erstellen Sie zunächst eine Tabelle und platzieren Sie Werte in der Tabelle

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

Eingabe-Screenshot:

Scan-Beispiel

Wenn wir den Scan-Befehl ausführen

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

Es wird die unten gezeigte Ausgabe angezeigt.

Ausgabe-Screenshot:

Scan-Beispiel

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

  • Scannt die guru99-Tabelle mit den Attributen RAW=>true, VERSIONS=>1000
  • Anzeigen von Zeilen mit Spaltenfamilien und Werten
  • In der dritten Zeile werden die gelöschten Werte angezeigt, die in der Spalte
  • Die angezeigte Ausgabe ist zufällig; sie kann nicht dieselbe Reihenfolge aufweisen 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 und zum Starten und Stoppen der Replikation werden im Allgemeinen diese Befehle verwendet.
Befehl Funktionalität
add_peer Fügen Sie Peers zum Cluster hinzu, um sie zu replizieren

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

Remove_Peer Stoppt den definierten Replikationsstream.

Löscht alle Metadateninformationen über den 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 geben umfassende Informationen zu verschiedenen Arten von Befehlen zur Datenmanipulation, Tabellenverwaltung und Clusterreplikation. Mit diesen Befehlen können wir verschiedene Funktionen an in HBase vorhandenen Tabellen ausführen.