Учебники

HBase — Создание данных

Эта глава демонстрирует, как создавать данные в таблице HBase. Для создания данных в таблице HBase используются следующие команды и методы:

  • поставить команду,

  • метод add () класса Put и

  • Метод put () класса HTable .

поставить команду,

метод add () класса Put и

Метод put () класса HTable .

В качестве примера, мы собираемся создать следующую таблицу в HBase.

HBase Table

Используя команду put , вы можете вставить строки в таблицу. Его синтаксис выглядит следующим образом:

put ’<table name>’,’row1’,’<colfamily:colname>’,’<value>’

Вставка первой строки

Давайте вставим значения первой строки в таблицу emp, как показано ниже.

hbase(main):005:0> put 'emp','1','personal data:name','raju'
0 row(s) in 0.6600 seconds
hbase(main):006:0> put 'emp','1','personal data:city','hyderabad'
0 row(s) in 0.0410 seconds
hbase(main):007:0> put 'emp','1','professional
data:designation','manager'
0 row(s) in 0.0240 seconds
hbase(main):007:0> put 'emp','1','professional data:salary','50000'
0 row(s) in 0.0240 seconds

Вставьте оставшиеся строки, используя команду put таким же образом. Если вы вставите всю таблицу, вы получите следующий результат.

hbase(main):022:0> scan 'emp'

   ROW                        COLUMN+CELL
1 column=personal data:city, timestamp=1417524216501, value=hyderabad

1 column=personal data:name, timestamp=1417524185058, value=ramu

1 column=professional data:designation, timestamp=1417524232601,

 value=manager
 
1 column=professional data:salary, timestamp=1417524244109, value=50000

2 column=personal data:city, timestamp=1417524574905, value=chennai

2 column=personal data:name, timestamp=1417524556125, value=ravi

2 column=professional data:designation, timestamp=1417524592204,

 value=sr:engg
 
2 column=professional data:salary, timestamp=1417524604221, value=30000

3 column=personal data:city, timestamp=1417524681780, value=delhi

3 column=personal data:name, timestamp=1417524672067, value=rajesh

3 column=professional data:designation, timestamp=1417524693187,

value=jr:engg
3 column=professional data:salary, timestamp=1417524702514,

value=25000 

Вставка данных с использованием Java API

Вы можете вставить данные в Hbase, используя метод add () класса Put . Вы можете сохранить его, используя метод put () класса HTable . Эти классы принадлежат пакету org.apache.hadoop.hbase.client . Ниже приведены шаги для создания данных в таблице HBase.

Шаг 1: Создание класса конфигурации

Класс Configuration добавляет файлы конфигурации HBase к своему объекту. Вы можете создать объект конфигурации с помощью метода create () класса HbaseConfiguration, как показано ниже.

Configuration conf = HbaseConfiguration.create();

Шаг 2: Создание класса HTable

У вас есть класс HTable , реализация Table в HBase. Этот класс используется для связи с одной таблицей HBase. При создании экземпляра этого класса он принимает объект конфигурации и имя таблицы в качестве параметров. Вы можете создать экземпляр класса HTable, как показано ниже.

HTable hTable = new HTable(conf, tableName);

Шаг 3: Создание PutClass

Для вставки данных в таблицу HBase используется метод add () и его варианты. Этот метод принадлежит Put , поэтому создайте экземпляр класса put. Этот класс требует имя строки, в которую вы хотите вставить данные, в строковом формате. Вы можете создать экземпляр класса Put, как показано ниже.

Put p = new Put(Bytes.toBytes("row1"));

Шаг 4: Вставить данные

Метод add () класса Put используется для вставки данных. Требуются 3-байтовые массивы, представляющие семейство столбцов, квалификатор столбца (имя столбца) и значение для вставки, соответственно. Вставьте данные в таблицу HBase, используя метод add (), как показано ниже.

p.add(Bytes.toBytes("coloumn family "), Bytes.toBytes("column
name"),Bytes.toBytes("value"));

Шаг 5: сохранить данные в таблице

После вставки необходимых строк сохраните изменения, добавив экземпляр put в метод put () класса HTable, как показано ниже.

hTable.put(p); 

Шаг 6: Закройте экземпляр HTable

После создания данных в таблице HBase закройте экземпляр HTable с помощью метода close (), как показано ниже.

hTable.close(); 

Ниже приведена полная программа для создания данных в HBase Table.

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;

public class InsertData{

   public static void main(String[] args) throws IOException {

      // Instantiating Configuration class
      Configuration config = HBaseConfiguration.create();

      // Instantiating HTable class
      HTable hTable = new HTable(config, "emp");

      // Instantiating Put class
      // accepts a row name.
      Put p = new Put(Bytes.toBytes("row1")); 

      // adding values using add() method
      // accepts column family name, qualifier/row name ,value
      p.add(Bytes.toBytes("personal"),
      Bytes.toBytes("name"),Bytes.toBytes("raju"));

      p.add(Bytes.toBytes("personal"),
      Bytes.toBytes("city"),Bytes.toBytes("hyderabad"));

      p.add(Bytes.toBytes("professional"),Bytes.toBytes("designation"),
      Bytes.toBytes("manager"));

      p.add(Bytes.toBytes("professional"),Bytes.toBytes("salary"),
      Bytes.toBytes("50000"));
      
      // Saving the put Instance to the HTable.
      hTable.put(p);
      System.out.println("data inserted");
      
      // closing HTable
      hTable.close();
   }
}

Скомпилируйте и выполните вышеуказанную программу, как показано ниже.

$javac InsertData.java
$java InsertData

Следующее должно быть выводом: