Поставете & Извличане на данни в HBase: Примери get (), put (), scan ()

Съдържание:

Anonim

В този урок ще научите:

  • Запис на данни в HBase таблица: Shell
  • Прочетете данни от HBase Table: Shell
  • Записване на данни в HBase таблица: JAVA API
  • Прочетете данни от HBase Table: JAVA API

Запис на данни в HBase таблица: Shell

Командата put се използва за съхраняване на данни в таблица

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

Тази команда се използва за следните неща

  • Той ще постави клетка "стойност" в определена или определена таблица или ред или колона.
  • По желание той ще координира времевия печат.

Пример:

  • Тук поставяме стойности в таблица "guru99" под ред r1 и колона c1
    hbase> put 'guru99', 'r1', 'c1', 'value', 10
  • Поставили сме три стойности, 10,15 и 30 в таблица "guru99", както е показано на екранната снимка по-долу

  • Да предположим, че ако таблицата "Guru99" има някаква препратка към таблица като например g. Също така можем да изпълним командата на справка за таблица, също като

    hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
  • Резултатът ще бъде както е показано на горната екранна снимка след поставяне на стойности в "guru99".

Прочетете данни от HBase Table: Shell

В този раздел ще проверим следното

  • Стойности, които се вмъкват в HBase таблица "guru99"
  • Имена на колони със стойности, присъстващи в HBase Table guru99

От горната екранна снимка можем да заключим

  • Ако изпълним командата "сканиране" в черупката на HBase, тя ще покаже вмъкнатите стойности в "guru99", както следва
  • В черупката HBase той ще покаже стойности, вмъкнати от нашия код с имена на колони и редове
  • Тук можем да видим вмъкнатото име на колоната са "образование" и "проекти"
  • Вместените стойности са "BigData" и "HBase Tutorials" в споменатите колони

Можете също да използвате командата Get, за да четете данни от таблица

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

Тук <Допълнителни параметри> включват TIMERANGE, TIMESTAMP, VERSIONS и FILTERS.

С помощта на тази команда ще получите съдържанието на ред или клетка в таблицата. В допълнение към това можете също да добавите допълнителни параметри към него като TIMESTAMP, TIMERANGE, VERSIONS, FILTERS и др., За да получите определен ред или клетка съдържание.

Примери:-

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

За таблица "guru99 'ще се покажат стойности на ред r1 и колона c1 с помощта на тази команда, както е показано на горната екранна снимка

hbase> get 'guru99', 'r1'

За таблица "guru99" ред r1 стойности ще бъдат показани с помощта на тази команда

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

За таблица "guru99" стойности на ред 1 във времевия диапазон ts1 и ts2 ще бъдат показани с помощта на тази команда

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

За таблица "guru99" стойностите c1, c2, c3 на семейства редове и колони ще бъдат показани с помощта на тази команда

Записване на данни в HBase таблица: JAVA API

В тази стъпка ще запишем данни в HBase таблица "guru99"

Първо, трябва да напишем код за вмъкване и извличане на стойности от HBase с помощта на програмата HBaseLoading.java.

За създаване и вмъкване на стойности в таблица на ниво колона трябва да кодирате както по-долу .

От екрана, заснет по-горе

  1. Когато създаваме HBase конфигурация, тя ще сочи към каквито и конфигурации да зададем в base-site.xml и hbase-default.xml файлове по време на HBase инсталации
  2. Създаване на таблица "guru99" по HTable метод
  3. Добавяне на row1 към таблица "guru99"
  4. Посочване на имена на колони „образование“ и „проекти“ и вмъкване на стойности в имена на колони в съответния ред1. Стойностите, поставени тук, са "BigData" и "HBaseTutorials".

Прочетете данни от HBase Table: Java API

Каквито и да са стойностите, които сме поставили в HBase таблици в горния раздел, тук ще извлечем и покажем тези стойности.

За извличане на резултати, съхранени в "guru99"

Горната екранна снимка показва, че данните се четат от HBase таблица 'guru99'

  1. В това ще извлечем стойностите, които се съхраняват в семейства колони, т.е. "образование" и "проекти"
  2. С помощта на командата "get" ще извлечем съхранени стойности в таблицата HBase
  3. Сканиране на резултатите с помощта на команда "сканиране". Стойностите, които се съхраняват в ред1, ще се показват на конзолата.

След като писането на код приключи, трябва да стартирате приложението Java като това

  • Щракнете с десния бутон върху HBaseLoading.java -> Изпълни като -> Приложение Java
  • След стартиране на "HBaseLoading .java" стойностите, които ще се вмъкнат във "guru99" във всяка колона в HBase и в същата програма той може да извлича и стойности.

Ето пълния код

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();}}}

Резюме:

Както обсъдихме в този урок, можете да използвате командата put, за да вмъкнете данни в таблица. Можете да използвате командата за сканиране, получаване, за да четете данни от таблица