W tym samouczku dowiesz się:
- Zapisz dane do tabeli HBase: Shell
- Odczytaj dane z tabeli HBase: Shell
- Zapisz dane do tabeli HBase: API JAVA
- Odczytaj dane z tabeli HBase: API JAVA
Zapisz dane do tabeli HBase: Shell
Polecenie put służy do przechowywania danych w tabeli
Syntax: put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>
To polecenie jest używane do następujących rzeczy
- Umieści komórkę „wartość” w zdefiniowanej lub określonej tabeli, wierszu lub kolumnie.
- Opcjonalnie koordynuje znacznik czasu.
Przykład:
- Tutaj umieszczamy wartości w tabeli „guru99” pod wierszem r1 i kolumną c1
hbase> put 'guru99', 'r1', 'c1', 'value', 10
- Umieściliśmy trzy wartości, 10,15 i 30 w tabeli „guru99”, jak pokazano na poniższym zrzucie ekranu
-
Załóżmy, że tabela „Guru99” ma jakieś odniesienie do tabeli, takie jak powiedzmy g. Możemy również uruchomić polecenie na odwołaniu do tabeli, podobnie jak
hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
-
Wynik będzie taki, jak pokazano na powyższym zrzucie ekranu po umieszczeniu wartości w „guru99”.
Odczytaj dane z tabeli HBase: Shell
W tej sekcji sprawdzimy, co następuje
- Wartości wstawiane do tabeli HBase „guru99”
- Nazwy kolumn z wartościami obecnymi w tabeli HBase guru99
Z powyższego zrzutu ekranu możemy wywnioskować
- Jeśli uruchomimy polecenie „skanuj” w powłoce HBase, wyświetli ona wprowadzone wartości w „guru99” w następujący sposób
- W powłoce HBase wyświetli wartości wstawione przez nasz kod z nazwami kolumn i wierszy
- Tutaj widzimy, że wstawione nazwy kolumn to „edukacja” i „projekty”
- Wstawione wartości to „BigData” i „HBase Tutorials” we wspomnianych kolumnach
Możesz także użyć polecenia Pobierz, aby odczytać dane z tabeli
Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}
Tutaj
Używając tego polecenia, otrzymasz zawartość wiersza lub komórki obecną w tabeli. Oprócz tego możesz również dodać do niego dodatkowe parametry, takie jak TIMESTAMP, TIMERANGE, VERSIONS, FILTERS itp., Aby uzyskać określony wiersz lub zawartość komórki.
Przykłady: -
hbase> get 'guru99', 'r1', {COLUMN => 'c1'}
Dla tabeli „guru99” wartości wiersza r1 i kolumny c1 zostaną wyświetlone za pomocą tego polecenia, jak pokazano na powyższym zrzucie ekranu
hbase> get 'guru99', 'r1'
Dla tabeli „guru99” wartości wiersza r1 zostaną wyświetlone za pomocą tego polecenia
hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}
Dla tabeli „guru99” wartości wiersza 1 w zakresie czasu ts1 i ts2 zostaną wyświetlone za pomocą tego polecenia
hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}
Dla tabeli „guru99” wiersz r1 i wartości c1, c2, c3 rodzin kolumn będą wyświetlane przy użyciu tego polecenia
Zapisz dane do tabeli HBase: API JAVA
W tym kroku zapiszemy dane do tabeli HBase „guru99”
Najpierw musimy napisać kod do wstawiania i pobierania wartości z HBase za pomocą programu - HBaseLoading.java.
Aby utworzyć i wstawić wartości do tabeli na poziomie kolumny, musisz kodować jak poniżej .
Z powyższego ekranu
- Kiedy tworzymy konfigurację HBase, wskaże ona na dowolne konfiguracje, które ustawiliśmy w plikach base-site.xml i hbase-default.xml podczas instalacji HBase
- Stworzenie tabeli „guru99” metodą HTable
- Dodawanie wiersza 1 do tabeli „guru99”
- Określanie nazw kolumn „edukacja” i „projekty” oraz wstawianie wartości do nazw kolumn w odpowiednim wierszu1. Wstawione tutaj wartości to „BigData” i „HBaseTutorials”.
Odczytaj dane z tabeli HBase: Java API
Niezależnie od wartości, które umieściliśmy w tabelach HBase w powyższej sekcji, tutaj zamierzamy pobrać i wyświetlić te wartości.
Do pobierania wyników zapisanych w „guru99”
Powyższy zrzut ekranu pokazuje, że dane są odczytywane z tabeli HBase 'guru99'
- W tym celu pobieramy wartości przechowywane w rodzinach kolumn, tj. „Edukacja” i „projekty”
- Używając polecenia "get", pobierzemy zapisane wartości w tablicy HBase
- Wyniki skanowania za pomocą polecenia „skanuj”. Wartości przechowywane w wierszu 1 zostaną wyświetlone na konsoli.
Po napisaniu kodu musisz uruchomić taką aplikację java
- Kliknij prawym przyciskiem myszy HBaseLoading.java -> Uruchom jako -> Aplikacja Java
- Po uruchomieniu "HBaseLoading .java" wartości, które zostaną wstawione do "guru99" w każdej kolumnie w HBase iw tym samym programie może również pobierać wartości.
Oto pełny kod
import java.io.IOException;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.client.Get;import org.apache.hadoop.hbase.client.HTable;import org.apache.hadoop.hbase.client.Put;import org.apache.hadoop.hbase.client.Result;import org.apache.hadoop.hbase.client.ResultScanner;import org.apache.hadoop.hbase.client.Scan;import org.apache.hadoop.hbase.util.Bytes;public class HBaseLoading{public static void main(String[] args) throws IOException{/* When you create a HBaseConfiguration, it reads in whatever you've set into your hbase-site.xml and in hbase-default.xml, as long as these can be found on the CLASSPATH*/org.apache.hadoop.conf.Configuration config = HBaseConfiguration.create();/*This instantiates an HTable object that connects you to the "test" table*/HTable table = new HTable(config, "guru99");/* To add to a row, use Put. A Put constructor takes the name of the row you want to insert into as a byte array.*/Put p = new Put(Bytes.toBytes("row1"));/*To set the value you'd like to update in the row 'row1', specify the column family, column qualifier, and value of the table cell you'd like to update. The column family must already exist in your table schema. The qualifier can be anything.*/p.add(Bytes.toBytes("education"), Bytes.toBytes("col1"),Bytes.toBytes("BigData"));p.add(Bytes.toBytes("projects"),Bytes.toBytes("col2"),Bytes.toBytes("HBaseTutorials"));// Once you've adorned your Put instance with all the updates you want to make, to commit it do the followingtable.put(p);// Now, to retrieve the data we just wrote.Get g = new Get(Bytes.toBytes("row1"));Result r = table.get(g);byte [] value = r.getValue(Bytes.toBytes("education"),Bytes.toBytes("col1"));byte [] value1 = r.getValue(Bytes.toBytes("projects"),Bytes.toBytes("col2"));String valueStr = Bytes.toString(value);String valueStr1 = Bytes.toString(value1);System.out.println("GET: " +"education: "+ valueStr+"projects: "+valueStr1);Scan s = new Scan();s.addColumn(Bytes.toBytes("education"), Bytes.toBytes("col1"));s.addColumn(Bytes.toBytes("projects"), Bytes.toBytes("col2"));ResultScanner scanner = table.getScanner(s);try{for (Result rr = scanner.next(); rr != null; rr = scanner.next()){System.out.println("Found row : " + rr);}} finally{// Make sure you close your scanners when you are done!scanner.close();}}}
Podsumowanie:
Jak omówiliśmy w tym samouczku, możesz użyć polecenia put, aby wstawić dane do tabeli. Możesz użyć polecenia scan, get, aby odczytać dane z tabeli