HBase - Veri Oluştur

HBase Shell kullanarak Veri Ekleme

Bu bölüm, bir HBase tablosunda verilerin nasıl oluşturulacağını gösterir. Bir HBase tablosunda veri oluşturmak için aşağıdaki komutlar ve yöntemler kullanılır:

  • put komut

  • add() yöntemi Put sınıf ve

  • put() yöntemi HTable sınıf.

Örnek olarak, HBase'de aşağıdaki tabloyu oluşturacağız.

Kullanma putkomutu, bir tabloya satır ekleyebilirsiniz. Sözdizimi aşağıdaki gibidir:

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

İlk Satırı Eklemek

İlk satır değerlerini aşağıda gösterildiği gibi emp tablosuna ekleyelim.

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 komutunu kullanarak kalan satırları aynı şekilde ekleyin. Tüm tabloyu eklerseniz, aşağıdaki çıktıyı alırsınız.

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 Kullanarak Veri Ekleme

Kullanarak Hbase'e veri ekleyebilirsiniz. add() yöntemi Putsınıf. Kullanarak kaydedebilirsinizput() yöntemi HTablesınıf. Bu sınıflar,org.apache.hadoop.hbase.clientpaketi. Aşağıda, HBase Tablosunda veri oluşturma adımları verilmiştir.

Adım 1: Konfigürasyon Sınıfının Örneğini Oluşturun

Configurationsınıfı, HBase yapılandırma dosyalarını nesnesine ekler. Kullanarak bir konfigürasyon nesnesi oluşturabilirsiniz.create() yöntemi HbaseConfiguration aşağıda gösterildiği gibi sınıf.

Configuration conf = HbaseConfiguration.create();

Adım 2: HTable Sınıfının Örneğini Oluşturun

Adlı bir sınıfınız var HTable, HBase'de Table uygulaması. Bu sınıf, tek bir HBase tablosu ile iletişim kurmak için kullanılır. Bu sınıfı başlatırken, konfigürasyon nesnesini ve tablo adını parametre olarak kabul eder. HTable sınıfını aşağıda gösterildiği gibi başlatabilirsiniz.

HTable hTable = new HTable(conf, tableName);

3. Adım: PutClass'ı somutlaştırın

HBase tablosuna veri eklemek için, add()yöntem ve varyantları kullanılır. Bu yöntem,Put, bu nedenle put sınıfını somutlaştırın. Bu sınıf, içine veri eklemek istediğiniz satır adını dize biçiminde gerektirir. Sen somutlaştırabilirsinPut aşağıda gösterildiği gibi sınıf.

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

4. Adım: Veri Girin

add() yöntemi Putsınıf veri eklemek için kullanılır. Sırasıyla sütun ailesini, sütun niteleyicisini (sütun adı) ve eklenecek değeri temsil eden 3 baytlık diziler gerektirir. Aşağıda gösterildiği gibi add () yöntemini kullanarak HBase tablosuna veri ekleyin.

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

Adım 5: Verileri Tabloya Kaydedin

Gerekli satırları ekledikten sonra, put örneğini ekleyerek değişiklikleri kaydedin. put() HTable sınıfı yöntemi aşağıda gösterildiği gibi.

hTable.put(p);

6. Adım: HTable Örneğini Kapatın

HBase Tablosunda veri oluşturduktan sonra, HTable örnek kullanarak close() yöntemi aşağıda gösterildiği gibi.

hTable.close();

Aşağıda HBase Tablosunda veri oluşturmak için eksiksiz program verilmiştir.

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

Yukarıdaki programı aşağıda gösterildiği gibi derleyin ve çalıştırın.

$javac InsertData.java
$java InsertData

Aşağıdakiler çıktı olmalıdır:

data inserted