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