Polecenia powłoki HBase z przykładami

⚡ Inteligentne podsumowanie

Polecenia powłoki HBase umożliwiają zarządzanie tabelami i danymi bezpośrednio z interaktywnego wiersza poleceń. Można je pogrupować na polecenia ogólne, polecenia zarządzania tabelami, takie jak create i drop, polecenia manipulowania danymi, takie jak put i get, a także polecenia replikacji klastra.

  • 🖥️. Polecenia ogólne: status, wersja, table_help i whoami raportują stan klastra i informacje o użytkownikach.
  • 🗂️. Zarządzanie tabelami: tworzenie, listowanie, opisywanie, wyłączanie, włączanie, usuwanie i zmienianie tabel oraz przekształcanie ich kształtu.
  • ✏️ Manipulacja danymi: wstawiaj, pobieraj, usuwaj, usuwaj wszystkie, obcinaj, licz i skanuj, odczytuj i zapisuj wartości komórek.
  • 🔁 Cluster replikacja: add_peer, remove_peer, start_replication i stop_replication zarządzają replikacją danych.
  • Atrybut TTL: Time To Live automatycznie wygasa po upływie określonej liczby sekund dla wierszy rodziny kolumn.
  • 🤖 Asystent AI: Asystenci AI generują i objaśniają polecenia powłoki HBase na podstawie monitów w języku zrozumiałym dla użytkownika.

Polecenia powłoki HBase z przykładami dla tabel, danych i replikacji klastra

Jak korzystać z HBase za pomocą poleceń powłoki i Java API

Po pomyślnej instalacji HBase na platformie Hadoop otrzymujemy interaktywną powłokę, która umożliwia wykonywanie różnych poleceń i operacji. Za pomocą tych poleceń możemy wykonywać wiele operacji na tabelach danych, co zapewnia lepszą wydajność przechowywania danych i elastyczną interakcję z klientem.

Z HBase możemy wchodzić w interakcję na dwa sposoby:

  • Interaktywny tryb powłoki HBase i
  • Przez Java API.

W HBase interaktywny tryb powłoki służy do interakcji z HBase w zakresie operacji na tabelach, zarządzania tabelami i modelowania danych. Java Dzięki modelowi API możemy wykonywać wszystkie typy operacji na tabelach i danych w HBase. Możemy wchodzić w interakcję z HBase za pomocą obu tych metod. Jedyną różnicą między nimi jest to, że Java Zastosowania API Java kod do połączenia z HBase, podczas gdy tryb powłoki używa poleceń powłoki do połączenia z HBase.

Krótkie podsumowanie HBase przed przejściem dalej:

  • Używa HBase Hadoop Pliki jako system pamięci masowej do przechowywania dużych ilości danych. HBase składa się z serwerów głównych i serwerów regionalnych.
  • Dane, które będą przechowywane w HBase, będą miały formę regionów. Co więcej, regiony te zostaną podzielone i zapisane na serwerach wieloregionalnych.
  • Te polecenia powłoki umożliwiają programistom definiowanie schematów tabel i operacji na danych, korzystając z pełnej interakcji w trybie powłoki.
  • Niezależnie od tego, którego polecenia użyjemy, zostanie ono odzwierciedlone w modelu danych HBase.
  • Polecenia powłoki HBase wykorzystujemy w interpretatorach skryptów systemów operacyjnych, np. powłoce Bash.
  • Powłoka Bash jest domyślnym interpretatorem poleceń dla większości Linux i dystrybucje systemu operacyjnego Unix.
  • Zaawansowane wersje HBase udostępniają polecenia powłoki z obiektowymi odwołaniami w stylu JRuby dla tabel.
  • Zmiennych referencyjnych tabeli można używać do wykonywania operacji na danych w trybie powłoki HBase.

Na przykład:

  • W tym samouczku utworzyliśmy tabelę, w której „edukacja” reprezentuje nazwę tabeli i odpowiada nazwie kolumny „guru99”.
  • W niektórych poleceniach „guru99” samo w sobie oznacza nazwę tabeli.

Polecenia ogólne

W HBase polecenia ogólne można podzielić na następujące kategorie:

  • Status
  • Wersja
  • Table_help (skanuj, upuść, pobierz, umieść, wyłącz itp.)
  • Kim jestem

Aby wejść do powłoki HBase, musimy najpierw wykonać kod opisany poniżej.

hbase Shell

Po wejściu do powłoki HBase możemy wykonać wszystkie polecenia powłoki wymienione poniżej. Za ich pomocą możemy wykonywać wszystkie typy operacji na tabelach w trybie powłoki HBase. Interaktywny monit powłoki wygląda tak, jak pokazano poniżej:

Interaktywny monit powłoki HBase otwarty za pomocą polecenia powłoki hBase

Przyjrzyjmy się wszystkim tym poleceniom i ich użyciu jeden po drugim na przykładzie.

Status

Syntax:status

To polecenie wyświetli szczegółowe informacje o stanie systemu, takie jak liczba serwerów obecnych w klastrze, liczba aktywnych serwerów oraz średnie obciążenie. Możesz również przekazać określone parametry, w zależności od tego, jak szczegółowy status systemu chcesz poznać. Parametrami mogą być „podsumowanie”, „prosty” lub „szczegółowy”; domyślnym parametrem jest „podsumowanie”.

Poniżej pokazaliśmy, jak przekazywać różne parametry do polecenia status. Zrzut ekranu poniżej pomoże nam to lepiej zrozumieć.

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

Poniżej pokazano stan wyjściowy:

Wynik polecenia stanu powłoki HBase pokazujący aktywne serwery, nieaktywne serwery i średnie obciążenie

Po uruchomieniu tego polecenia statusu otrzymujemy informacje o liczbie aktywnych serwerów, nieaktywnych serwerów oraz średnim obciążeniu serwera. Na zrzucie ekranu widać informacje takie jak 1 aktywny serwer, 1 nieaktywny serwer i średnie obciążenie na poziomie 7.0000.

Wersja

Syntax: version

Poniżej przedstawiono wynik wersji:

Polecenie wersji powłoki HBase pokazujące zainstalowaną wersję HBase

  • To polecenie wyświetli aktualnie używaną wersję HBase w trybie poleceń.
  • Uruchomienie polecenia version spowoduje wyświetlenie wyniku takiego jak powyżej.

Pomoc w tabeli

Syntax:table_help

Poniżej pokazano wynik polecenia table_help:

Lista wyników polecenia create i get_table powłoki HBase

To polecenie kieruje:

  • Czym są polecenia odwołujące się do tabeli i jak ich używać.
  • Przedstawi różne sposoby użycia poleceń powłoki HBase i ich składnie.
  • Na powyższym zrzucie ekranu pokazana jest składnia poleceń „create” i „get_table” wraz z ich użyciem. Po utworzeniu tabeli w HBase możemy nią manipulować za pomocą tych poleceń.
  • Udostępni polecenia do manipulowania tabelami, takie jak put, get i wszystkie inne informacje dotyczące poleceń.

whoami

Syntax: Whoami

Poniżej pokazano wynik polecenia whoami:

Polecenie whoami powłoki HBase zwracające bieżącego użytkownika hduser i grupy

To polecenie „whoami” służy do zwracania bieżących informacji o użytkowniku HBase z klastra HBase. Zawiera ono takie informacje, jak:

  • Grupy obecne w HBase.
  • Informacje o użytkowniku; na przykład w tym przypadku „hduser” reprezentuje nazwę użytkownika, jak pokazano na zrzucie ekranu.

TTL (czas życia) – atrybut

W HBase rodziny kolumn można ustawić na wartości czasu w sekundach za pomocą TTL. HBase automatycznie usunie wiersze po osiągnięciu czasu wygaśnięcia. Ten atrybut ma zastosowanie do wszystkich wersji wiersza, nawet do wersji bieżącej.

Czas TTL zakodowany w HBase dla wiersza jest określony w formacie UTC. Ten atrybut jest używany w poleceniach zarządzania tabelami. Poniżej przedstawiono istotne różnice między obsługą TTL a wartościami TTL dla rodziny kolumn:

  • TTL komórek wyrażane są w milisekundach, a nie sekundach.
  • Wartość TTL komórki nie może wydłużyć efektywnego czasu życia komórki poza ustawienie TTL na poziomie rodziny kolumn.

Polecenia dotyczące zarządzania tabelami

Te polecenia pozwolą programistom tworzyć tabele i schematy tabel z rodzinami wierszy i kolumn. Poniżej przedstawiono polecenia zarządzania tabelami:

  • Stwórz
  • Lista
  • Opisać
  • Wyłącz
  • Wyłącz wszystkie
  • umożliwiać
  • Włącz wszystkie
  • Spadek
  • Upuść_wszystko
  • Pokaż_filtry
  • Wiek
  • Zmień_status

Przyjrzyjmy się różnym sposobom użycia poleceń w HBase na przykładzie.

Stwórz

Syntax: create <tablename>, <columnfamilyname>

Przykład:-

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

Wynik polecenia create pokazano poniżej:

Polecenie tworzenia powłoki HBase tworzące tabelę edukacyjną z rodziną kolumn guru99

Powyższy przykład wyjaśnia, jak utworzyć tabelę w HBase o określonej nazwie, zgodnie ze specyfikacją dla każdej rodziny kolumn. Dodatkowo, możemy przekazać do niej atrybuty zakresu tabeli. Aby sprawdzić, czy tabela „edukacja” została utworzona, używamy poniższego polecenia „list”. Zobacz również tworzenie tabel HBase za pomocą Java i muszla.

Lista

Syntax:list

Poniżej pokazano wynik listy:

Polecenie listy powłoki HBase pokazujące osiem istniejących tabel w HBase

  • Polecenie „list” wyświetli wszystkie tabele obecne lub utworzone w HBase.
  • Dane wyjściowe pokazane na powyższym zrzucie ekranu pokazują obecnie istniejące tabele w HBase.
  • Na tym zrzucie ekranu widać, że w bazie HBase znajduje się łącznie 8 tabel.
  • Możemy filtrować wartości wyjściowe z tabel, przekazując opcjonalne parametry wyrażenia regularnego.

Opisać

Syntax:describe <table name>
hbase(main):010:0>describe 'education'

Poniżej pokazano wynik opisu:

Powłoka HBase opisuje dane wyjściowe polecenia szczegółowo opisujące rodziny kolumn tabeli edukacyjnej

To polecenie opisuje nazwaną tabelę.

  • Zawiera więcej informacji o rodzinach kolumn obecnych w wymienionej tabeli.
  • W naszym przypadku podaje opis tabeli „edukacja”.
  • Wyświetlane są informacje o nazwie tabeli, rodzinach kolumn, powiązanych filtrach, wersjach i inne szczegóły.

wyłączyć

Syntax: disable <tablename>
hbase(main):011:0>disable 'education'

Poniżej pokazano wyjście wyłączające:

Polecenie wyłączenia powłoki HBase wyłączające tabelę edukacyjną

  • To polecenie rozpocznie wyłączanie podanej tabeli.
  • Jeśli tabela musi zostać usunięta lub usunięta, należy ją najpierw wyłączyć.

Tutaj, na powyższym zrzucie ekranu, wyłączamy edukację tabelaryczną.

Wyłącz wszystkie

 Syntax: disable_all<"matching regex"
  • To polecenie wyłączy wszystkie tabele pasujące do danego wyrażenia regularnego.
  • Implementacja jest taka sama jak w przypadku polecenia drop (poza dodaniem wyrażenia regularnego w celu dopasowania).
  • Po wyłączeniu tabeli użytkownik może usunąć ją z bazy HBase.
  • Przed usunięciem lub upuszczeniemping jeśli jest to tabela, należy ją najpierw wyłączyć.

umożliwiać

Syntax: enable <tablename>
hbase(main):012:0>enable 'education'

Poniżej pokazano wyjście włączające:

Polecenie włączające powłokę HBase ponownie aktywuje wyłączoną tabelę edukacyjną

  • To polecenie rozpocznie włączanie nazwanej tabeli.
  • Aby przywrócić tabelę do poprzedniego stanu, należy użyć tego polecenia.
  • Jeśli tabela została wyłączona w pierwszej kolejności i nie została usunięta ani usunięta, a chcemy ponownie wykorzystać wyłączoną tabelę, musimy ją włączyć za pomocą tego polecenia.
  • Tutaj, na powyższym zrzucie ekranu, włączamy tabelę „edukacja”.

pokaż_filtry

Syntax: show_filters

Poniżej pokazano wynik polecenia show_filters:

Wyjście powłoki HBase show_filters z listą dostępnych filtrów HBase

To polecenie wyświetla wszystkie filtry obecne w HBase, takie jak ColumnPrefixFilter, TimestampsFilter, PageFilter, FamilyFilter itd.

upuszczać

Syntax:drop <table name>
hbase(main):017:0>drop 'education'

Wynik upuszczenia pokazano poniżej:

Polecenie powłoki HBase usuwające wyłączoną tabelę edukacyjną

Musimy zwrócić uwagę na poniższe punkty dotyczące polecenia upuszczania:

  • Aby usunąć tabelę obecną w HBase, najpierw musimy ją wyłączyć.
  • Aby usunąć tabelę obecną w HBase, najpierw musimy ją wyłączyć.
  • Aby usunąć tabelę, należy ją najpierw wyłączyć za pomocą polecenia disable.
  • Tutaj, na powyższym zrzucie ekranu, upuszczamyping tabela „edukacja”.
  • Przed wykonaniem tego polecenia konieczne jest wyłączenie tabeli „edukacja”.

upuść_wszystko

Syntax: drop_all<"regex">
  • To polecenie usunie wszystkie tabele pasujące do podanego wyrażenia regularnego.
  • Przed wykonaniem tego polecenia tabele muszą zostać najpierw wyłączone za pomocą polecenia disable_all.
  • Tabele zawierające wyrażenia zgodne z wyrażeniami regularnymi zostaną usunięte z bazy HBase.

jest włączony

Syntax: is_enabled 'education'

To polecenie zweryfikuje, czy wskazana tabela jest włączona, czy nie. Zwykle występuje pewne zamieszanie między akcjami polecenia „enable” i „is_enabled”, co wyjaśnimy tutaj:

  • Załóżmy, że tabela jest wyłączona; aby z niej korzystać, musimy ją włączyć, używając polecenia enable.
  • Polecenie is_enabled sprawdzi, czy tabela jest włączona czy nie.

zmieniać

Syntax: alter <tablename>, NAME=><column familyname>, VERSIONS=>5

To polecenie zmienia schemat rodziny kolumn. Aby zrozumieć, co dokładnie robi, wyjaśniliśmy to tutaj na przykładzie.

Przykłady: W tych przykładach wykonamy operacje polecenia ALTER na tabelach i ich kolumnach. Wykonamy operacje takie jak:

  • Zmiana nazw rodzin w jednej lub wielu kolumnach.
  • Usuwanie nazw rodzin kolumn z tabeli.
  • Kilka innych operacji wykorzystujących atrybuty zakresu z tabelą.

Aby zmienić lub dodać rodzinę kolumn „guru99_1” w tabeli „education” z bieżącej wartości, aby zachować maksymalnie 5 wersji komórek. W tym przypadku „education” to nazwa tabeli utworzonej wcześniej z nazwą kolumny „guru99”. Za pomocą polecenia alter próbujemy zmienić schemat rodziny kolumn z guru99 na guru99_1, jak pokazano poniżej:

Polecenie HBase shell alter zmienia rodzinę kolumn tabeli edukacyjnej na guru99_1

hbase> alter 'education', NAME='guru99_1', VERSIONS=>5

Możesz również użyć polecenia alter w kilku rodzinach kolumn. Na przykład, zdefiniujemy dwie nowe kolumny dla naszej istniejącej tabeli „edukacja”, jak pokazano poniżej:

Polecenie HBase ALTER dodaje dwie nowe rodziny kolumn guru99_2 i guru99_3

 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}
  • Za pomocą tego polecenia możemy zmienić więcej niż jeden schemat kolumn na raz.
  • guru99_2 i guru99_3, jak pokazano na powyższym zrzucie ekranu, to dwie nowe nazwy kolumn, które zdefiniowaliśmy dla tabeli education.
  • Sposób użycia tego polecenia możemy zobaczyć na poprzednim zrzucie ekranu.

W tym kroku pokażemy, jak usunąć rodzinę kolumn z tabeli. Aby usunąć rodzinę kolumn „f1” z tabeli „edukacja”, użyj jednego z poniższych poleceń. Wynik pokazano na poniższym zrzucie ekranu:

Polecenie HBase ALTER usuwające rodzinę kolumn z tabeli edukacyjnej

hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1'

W tym poleceniu próbujemy usunąć przestrzeń kolumnową o nazwie guru99_1, którą utworzyliśmy wcześniej w pierwszym kroku. Jak pokazano na poniższych zrzutach ekranu, polecenie przedstawia dwa kroki: jak zmienić atrybut zakresu tabeli i jak usunąć atrybut zakresu tabeli.

Polecenie zmiany powłoki HBase ustawia atrybut zakresu tabeli MAX_FILESIZE

Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'

Krok 1) Możesz zmienić atrybuty zakresu tabeli, takie jak MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH itd. Można je umieścić na końcu; na przykład, aby zmienić maksymalny rozmiar regionu na 128 MB lub dowolną inną wartość pamięci, używamy tego polecenia.

Stosowanie:

  • Możemy użyć MAX_FILESIZE z tabelą jako atrybutem zakresu, jak powyżej.
  • Liczba reprezentowana przez MAX_FILESIZE to ilość pamięci w bajtach.

UWAGA: Zakres tabeli MAX_FILESIZE będzie określony przez niektóre atrybuty obecne w HBase. MAX_FILESIZE również należy do atrybutów zakresu tabeli.

Krok 2) Możesz również usunąć atrybut table-scope za pomocą metody table_att_unset. Zobacz polecenie poniżej:

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • Powyższy zrzut ekranu pokazuje zmienioną nazwę tabeli z atrybutami zakresu.
  • Metoda table_att_unset służy do usuwania atrybutów obecnych w tabeli.
  • W drugim przypadku usuwamy atrybut MAX_FILESIZE.
  • Po wykonaniu polecenia zostanie po prostu usunięty atrybut MAX_FILESIZE z tabeli „edukacja”.

alter_status

 Syntax: alter_status 'education'

Poniżej pokazano wynik polecenia alter_status:

Polecenie alter_status powłoki HBase pokazujące zaktualizowany jeden z regionów

  • Za pomocą tego polecenia możesz uzyskać status polecenia alter.
  • Wskazuje liczbę regionów tabeli, które otrzymały zaktualizowany schemat. Przekazujesz nazwę tabeli.
  • Na powyższym zrzucie ekranu widać, że zaktualizowano 1/1 regionów. Oznacza to, że zaktualizowano jeden region. Po pomyślnej aktualizacji, pojawi się komunikat „gotowe”.

Polecenia manipulacji danymi

Polecenia te działają na tabeli i umożliwiają manipulację danymi, np. wprowadzanie danych do tabeli, pobieranie danych z tabeli, usuwanie schematu itp. Polecenia te obejmują:

  • Liczyć
  • PUT
  • Get
  • Usunięcia
  • Usuń wszystko
  • Ścięty
  • Scan

Przyjrzyjmy się bliżej tym zastosowaniom poleceń na przykładzie. Zobacz także odczytywanie i zapisywanie danych HBase.

Liczyć

Syntax: count <'tablename'>, CACHE =>1000
  • Polecenie zwróci liczbę wierszy w tabeli. Zwracana wartość to liczba wierszy.
  • Domyślnie bieżąca liczba jest wyświetlana co 1000 wierszy.
  • Interwał zliczania może być opcjonalnie określony.
  • Domyślny rozmiar pamięci podręcznej wynosi 10 wierszy.
  • Polecenie count będzie działać szybko, jeśli zostanie skonfigurowane z odpowiednią pamięcią podręczną.

Przykład:

hbase> count 'guru99', CACHE=>1000

Poniżej pokazano wynik zliczania:

Polecenie powłoki HBase zwracające liczbę wierszy tabeli guru99

Ten przykładowy licznik pobiera 1000 wierszy na raz z tabeli „guru99”. Możemy zmniejszyć wartość bufora, jeśli tabela zawiera więcej wierszy. Domyślnie jednak pobierany jest jeden wiersz na raz.

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

Załóżmy, że tabela „guru99” ma jakieś odwołanie do tabeli, na przykład „g”. Możemy również uruchomić polecenie „count” na odwołaniu do tabeli, jak poniżej:

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

PUT

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

To polecenie służy do następujących celów:

  • Umieści „wartość” komórki w zdefiniowanej lub określonej tabeli, wierszu lub kolumnie.
  • Opcjonalnie będzie koordynować znacznik czasu.

Przykład: Tutaj umieszczamy wartości w tabeli „guru99” w wierszu r1 i kolumnie c1.

hbase> put 'guru99', 'r1', 'c1', 'value', 10

W tabeli „guru99” umieściliśmy trzy wartości: 10, 15 i 30, jak pokazano na zrzucie ekranu poniżej.

Powłoka HBase wstawia polecenie wstawiające wartości 10, 15 i 30 do tabeli guru99

Załóżmy, że tabela „guru99” ma jakieś odwołanie do tabeli, na przykład „g”. Możemy również uruchomić polecenie na odwołaniu do tabeli, na przykład:

hbase> g.put 'guru99', 'r1', 'c1', 'value', 10

Wynik będzie taki, jak pokazano na powyższym zrzucie ekranu po wprowadzeniu wartości do „guru99”. Aby sprawdzić, czy wartość wejściowa została poprawnie wstawiona do tabeli, używamy polecenia „scan”. Na poniższym zrzucie ekranu widać, że wartości zostały wstawione poprawnie.

Wynik skanowania powłoki HBase potwierdzający wartości wstawione do tabeli guru99

Code Fragment: Do ćwiczeń

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

Z fragmentu kodu wynika, że ​​wykonujemy następujące czynności:

  • Tutaj tworzymy tabelę o nazwie „guru99” z nazwą kolumny „Edu”.
  • Używając polecenia „put” umieszczamy wartości w wierszu o nazwie r1 w kolumnie „Edu” w tabeli „guru99”.

Get

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

Tutaj, Uwzględnij TIMERANGE, TIMERANGE, VERSIONS i FILTERS. Za pomocą tego polecenia otrzymasz zawartość wiersza lub komórki obecną w tabeli. Dodatkowo możesz dodać do niego dodatkowe parametry, takie jak TIMESTAMP, TIMERANGE, VERSIONS, FILTERS itp., aby uzyskać zawartość konkretnego wiersza lub komórki.

Poniższy wynik zwraca wartości wiersza r1 i kolumny c1:

Polecenie powłoki HBase zwracające wiersz r1 i kolumnę c1 z tabeli guru99

Przykłady:-

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

W przypadku tabeli „guru99” wartości wiersza r1 i kolumny c1 zostaną wyświetlone po użyciu tego polecenia, jak pokazano na zrzucie ekranu powyżej.

hbase> get 'guru99', 'r1'

W przypadku tabeli „guru99” wartości wiersza r1 zostaną wyświetlone za pomocą tego polecenia.

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

W przypadku tabeli „guru99” za pomocą tego polecenia zostaną wyświetlone wartości wiersza r1 w zakresie czasu od ts1 do ts2.

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

W przypadku tabeli „guru99” za pomocą tego polecenia zostaną wyświetlone wartości wiersza r1 oraz rodzin kolumn c1, c2 i c3.

Usunięcia

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • To polecenie usunie wartość komórki w zdefiniowanej tabeli wiersza lub kolumny.
  • Usunięcie musi i powinno dokładnie odpowiadać współrzędnym usuniętej komórki.
  • Podczas skanowania komórka „usuń” usuwa starsze wersje wartości.

Przykład: Poniższe polecenie usuwania usuwa komórki r1, c1 z tabeli guru99:

Polecenie usunięcia powłoki HBase usuwające komórkę r1 c1 z tabeli guru99

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
  • Powyższe wykonanie spowoduje usunięcie wiersza r1 z rodziny kolumn c1 w tabeli „guru99”.
  • Załóżmy, że tabela „guru99” ma pewne odwołanie do tabeli, np. g.
  • Możemy uruchomić polecenie także w odniesieniu do tabeli, np. hbase> g.delete 'guru99', 'r1', 'c1′”.

Usuń wszystko

Syntax: deleteall <'tablename'>, <'rowname'>
  • To polecenie usunie wszystkie komórki w danym wierszu.
  • Opcjonalnie możemy zdefiniować nazwy kolumn i znacznik czasu w składni.

Przykład: polecenie deleteall poniżej usuwa wszystkie komórki w wierszu r1:

Polecenie HBase shell deleteall usuwa wszystkie komórki w wierszu r1 tabeli guru99

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

Spowoduje to usunięcie wszystkich wierszy i kolumn z tabeli. Opcjonalnie możemy podać nazwy kolumn.

Ścięty

Syntax:  truncate <tablename>

Poniższe polecenie truncate opróżnia tabelę podczas keeping jego schemat:

Wyłączanie polecenia obcinania powłoki HBase, usuwaniepingi ponowne utworzenie tabeli guru99

Po skróceniu tabeli HBase schemat będzie obecny, ale rekordy nie. To polecenie wykonuje 3 funkcje, wymienione poniżej:

  • Wyłącza tabelę, jeśli już istnieje.
  • Usuwa tabelę, jeśli już istnieje.
  • Tworzy ponownie wspomnianą tabelę.

Scan

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

To polecenie skanuje całą tabelę i wyświetla jej zawartość.

  • Do tego polecenia skanowania możemy przekazać kilka opcjonalnych specyfikacji, aby uzyskać więcej informacji o tabelach znajdujących się w systemie.
  • Specyfikacje skanera mogą obejmować jeden lub więcej z poniższych atrybutów.
  • Są to: TIMERANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW i STOPROW.
scan 'guru99'

Poniżej przedstawiono wynik skanowania:

Polecenie skanowania powłoki HBase wyświetlające wiersze r1, r2 i r3 tabeli guru99

Na powyższym zrzucie ekranu:

  • Pokazuje tabelę „guru99” z nazwą kolumny i wartościami.
  • Składa się z trzech wartości wiersza r1, r2 i r3 dla pojedynczej wartości kolumny c1.
  • Wyświetla wartości powiązane z wierszami.

Przykłady: Różne zastosowania polecenia skanowania:

Command Stosowanie
skanuj „.META.”, {KOLUMNY => „info:regioninfo”} Wyświetla wszystkie informacje metadane dotyczące kolumn obecnych w tabelach w HBase.
skanuj „guru99”, {KOLUMNY => [„c1”, „c2”], LIMIT => 10, STARTROW => „xyz”} Wyświetla zawartość tabeli guru99 z rodzinami kolumn c1 i c2, ograniczając wartości do 10.
skanuj „guru99”, {KOLUMNY => „c1”, ZAKRES CZASOWY => [1303668804, 1303668904]} Wyświetla zawartość guru99 z nazwą kolumny c1 i wartościami zawartymi pomiędzy wartościami atrybutu podanego zakresu czasu.
skanuj 'guru99', {RAW => prawda, WERSJE =>10} W tym poleceniu RAW=> true udostępnia zaawansowaną funkcję, np. wyświetlanie wartości wszystkich komórek obecnych w tabeli guru99.

Code Przykład: Najpierw utwórz tabelę i umieść w niej wartości. Dane wejściowe pokazano na poniższym zrzucie ekranu:

Dane wejściowe powłoki HBase tworzące tabelę guru99 i wstawianie wartości wersji przed skanowaniem danych surowych

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

Jeśli uruchomimy polecenie skanowania:

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

Wyświetli się poniższy wynik:

Wynik skanowania powłoki HBase w postaci surowej, pokazujący wiele wersji komórek, w tym usuniętą wartość

Dane wyjściowe pokazane na powyższym zrzucie ekranu zawierają następujące informacje:

  • Skanowanie tabeli guru99 z atrybutami RAW=>true, VERSIONS=>1000.
  • Wyświetlanie wierszy z rodzinami kolumn i wartościami.
  • W trzecim wierszu wyświetlane są wartości usunięte, obecne w kolumnie.
  • Wyświetlany wynik jest losowy i nie może być w tej samej kolejności, co wartości, które wstawiliśmy do tabeli.

Cluster Polecenia replikacji

  • Polecenia te działają w trybie konfiguracji klastra HBase.
  • Poniższe polecenia służą do dodawania i usuwania węzłów w klastrze oraz do uruchamiania i zatrzymywania replikacji.
Command Funkcjonalność
dodaj_peer Dodaje elementy równorzędne do klastra w celu replikacji.
hbase> add_peer '3', zk1,zk2,zk3:2182:/hbase-prod
usuń_peer Zatrzymuje zdefiniowany strumień replikacji i usuwa wszystkie metadane dotyczące równorzędnego obiektu.
hbase> usuń_peer '1'
start_replikacja Ponownie uruchamia wszystkie funkcje replikacji.
hbase> start_replikacja
zatrzymaj_replikację Zatrzymuje wszystkie funkcje replikacji.
hbase>stop_replikacja

FAQ

Wpisz exit lub quit i naciśnij Enter, aby opuścić interaktywną powłokę HBase i powrócić do wiersza poleceń systemu operacyjnego. Powłokę otwiera się za pomocą polecenia hbase shell. Ani exit, ani quit nie zatrzymują usługi HBase; jedynie kończą sesję powłoki.

Tak. Polecenia potokowe są przekazywane nieinteraktywnie, na przykład echo „list” | powłoka hbase, lub uruchamiają zapisany plik z plikiem skryptu powłoki hbase.txt. Ponieważ powłoka jest oparta na JRuby, można również osadzać logikę i pętle Ruby w plikach skryptów .rb.

Powłoka to interaktywny monit JRuby umożliwiający szybkie ręczne wydawanie poleceń i administrację. Java Interfejs API, wykorzystujący interfejsy Connection, Admin i Table, jest przeznaczony dla aplikacji, które programowo tworzą tabele i odczytują lub zapisują dane. Oba interfejsy korzystają z tego samego klastra HBase i danych.

Błąd „Tabela już istnieje” pojawia się, gdy polecenie „create” powtarza istniejącą nazwę, a błąd „Tabela nie jest wyłączona” pojawia się, gdy polecenie „drop” lub „mode” zostanie usunięte lub zmienione bez uprzedniego wyłączenia. Przed usunięciem lub zmianą należy uruchomić polecenie „disable 'table'” i użyć polecenia „exist 'table'”, aby sprawdzić nazwę przed jej utworzeniem.

Rodzina kolumn HBase przechowuje ograniczoną liczbę wersji z sygnaturą czasową na komórkę – historycznie trzy, a w nowszych wersjach jedną. Ustaw liczbę za pomocą VERSIONS w momencie utworzenia lub modyfikacji i zażądaj starszych wersji za pomocą {VERSIONS => n} w poleceniu get lub scan.

Zmienna referencyjna tabeli to obiekt powłoki zwrócony przez polecenie g = get_table 'guru99'. Następnie wywołuje się na nim metody, takie jak g.put, g.get lub g.count, zamiast powtarzać nazwę tabeli. To wygodny skrót w stylu JRuby w powłoce HBase.

Asystenci kodowania AI i duże modele językowe generują polecenia powłoki HBase na podstawie żądań w języku potocznym, wyjaśniają nieznane opcje, takie jak filtry skanowania czy TTL, i pomagają w debugowaniu błędów. Uczenie maszynowe analizuje również metryki klastra, aby kierować replikacją i dostrajaniem regionów, chociaż inżynier powinien zweryfikować każde polecenie.

Tak. Drugi pilot GitHub sugeruje polecenia powłoki HBase i skrypty JRuby na podstawie krótkiego komentarza, zawierającego przykłady tworzenia, umieszczania, skanowania i modyfikowania. Revprzed uruchomieniem programu w prawdziwym klastrze sprawdź jego dane wyjściowe pod kątem prawidłowej nazwy tabeli, rodzin kolumn i składni, np. VERSIONS.

Podsumuj ten post następująco: