HBase - डेटा बनाएँ

HBase शेल का उपयोग करके डेटा सम्मिलित करना

यह अध्याय दर्शाता है कि HBase तालिका में डेटा कैसे बनाया जाता है। HBase तालिका में डेटा बनाने के लिए, निम्नलिखित कमांड और विधियों का उपयोग किया जाता है:

  • put आदेश,

  • add() उसकि विधि Put कक्षा, और

  • put() उसकि विधि HTable कक्षा।

एक उदाहरण के रूप में, हम HBase में निम्न तालिका बनाने जा रहे हैं।

का उपयोग करते हुए putकमांड, आप एक तालिका में पंक्तियाँ सम्मिलित कर सकते हैं। इसका सिंटैक्स इस प्रकार है:

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

पहली पंक्ति सम्मिलित करना

नीचे दी गई सूची के अनुसार पहली पंक्ति के मानों को हम एम्पायर टेबल में डालें।

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

उसी तरह पुट कमांड का उपयोग करके शेष पंक्तियों को डालें। यदि आप पूरी तालिका सम्मिलित करते हैं, तो आपको निम्न आउटपुट मिलेगा।

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

जावा एपीआई का उपयोग करके डेटा सम्मिलित करना

आप का उपयोग करके Hbase में डेटा सम्मिलित कर सकते हैं add() की विधि Putकक्षा। आप इसे का उपयोग कर बचा सकते हैंput() की विधि HTableकक्षा। इन वर्गों के हैंorg.apache.hadoop.hbase.clientपैकेज। नीचे दिए गए कदम HBase की तालिका में डेटा बनाने के लिए हैं।

चरण 1: कॉन्फ़िगरेशन क्लास को तुरंत

Configurationवर्ग HBase विन्यास फाइल को अपनी वस्तु में जोड़ता है। आप का उपयोग करके एक कॉन्फ़िगरेशन ऑब्जेक्ट बना सकते हैंcreate() की विधि HbaseConfiguration नीचे दिखाया गया है।

Configuration conf = HbaseConfiguration.create();

चरण 2: HTable कक्षा को तुरंत लिखें

आपके पास एक वर्ग है जिसे बुलाया गया है HTable, HBase में तालिका का कार्यान्वयन। इस वर्ग का उपयोग एकल HBase तालिका के साथ संवाद करने के लिए किया जाता है। इस वर्ग को त्वरित करते समय, यह कॉन्फ़िगरेशन ऑब्जेक्ट और टेबल नाम को मापदंडों के रूप में स्वीकार करता है। जैसा कि नीचे दिखाया गया है, आप HTable वर्ग को तुरंत कर सकते हैं।

HTable hTable = new HTable(conf, tableName);

चरण 3: PutClass को झटपट

HBase तालिका में डेटा सम्मिलित करने के लिए, add()विधि और इसके वेरिएंट का उपयोग किया जाता है। यह विधि किसकी हैPut, इसलिए पुट क्लास को इंस्टेंट करें। इस वर्ग को उस पंक्ति के नाम की आवश्यकता होती है जिसे आप डेटा को स्ट्रिंग प्रारूप में सम्मिलित करना चाहते हैं। आप तुरंत कर सकते हैंPut नीचे दिखाया गया है।

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

चरण 4: डेटा डालें

add() उसकि विधि Putक्लास का उपयोग डेटा डालने के लिए किया जाता है। इसके लिए कॉलम परिवार, कॉलम क्वालिफायर (कॉलम नाम) का प्रतिनिधित्व करने वाली 3 बाइट सरणियों की आवश्यकता होती है, और क्रमशः डाला जाने वाला मूल्य। नीचे दिखाए अनुसार () विधि का उपयोग करके HBase तालिका में डेटा डालें।

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

चरण 5: तालिका में डेटा सहेजें

आवश्यक पंक्तियाँ डालने के बाद, पुट इंस्टेंस को जोड़कर परिवर्तनों को सहेजें put() नीचे दिखाए अनुसार HTable वर्ग की विधि।

hTable.put(p);

चरण 6: HTable इंस्टेंस को बंद करें

HBase तालिका में डेटा बनाने के बाद, बंद करें HTable उदाहरण का उपयोग करते हुए close() नीचे दिखाए अनुसार विधि।

hTable.close();

नीचे दिए गए HBase तालिका में डेटा बनाने का पूरा कार्यक्रम है।

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

निम्नलिखित आउटपुट होना चाहिए:

data inserted