HBase - अपडेट डेटा

HBase शेल का उपयोग करके डेटा अपडेट करना

आप मौजूदा सेल वैल्यू को अपडेट कर सकते हैं putआदेश। ऐसा करने के लिए, बस एक ही वाक्यविन्यास का पालन करें और नीचे दिखाए गए अनुसार अपने नए मूल्य का उल्लेख करें।

put ‘table name’,’row ’,'Column family:column name',’new value’

नया दिया गया मान मौजूदा मान को प्रतिस्थापित करता है, पंक्ति को अद्यतन करता है।

उदाहरण

मान लीजिए HBase में एक टेबल है जिसे कहा जाता है emp निम्नलिखित आंकड़ों के साथ।

hbase(main):003:0> scan 'emp'
 ROW              COLUMN + CELL
row1 column = personal:name, timestamp = 1418051555, value = raju
row1 column = personal:city, timestamp = 1418275907, value = Hyderabad
row1 column = professional:designation, timestamp = 14180555,value = manager
row1 column = professional:salary, timestamp = 1418035791555,value = 50000
1 row(s) in 0.0100 seconds

निम्नलिखित आदेश दिल्ली में 'राजू' नामक कर्मचारी के शहर मूल्य को अपडेट करेगा।

hbase(main):002:0> put 'emp','row1','personal:city','Delhi'
0 row(s) in 0.0400 seconds

अपडेट की गई तालिका निम्नानुसार है जहां आप देख सकते हैं कि राजू शहर को 'दिल्ली' में बदल दिया गया है।

hbase(main):003:0> scan 'emp'
  ROW          COLUMN + CELL
row1 column = personal:name, timestamp = 1418035791555, value = raju
row1 column = personal:city, timestamp = 1418274645907, value = Delhi
row1 column = professional:designation, timestamp = 141857555,value = manager
row1 column = professional:salary, timestamp = 1418039555, value = 50000
1 row(s) in 0.0100 seconds

जावा एपीआई का उपयोग कर डेटा को अपडेट करना

आप किसी विशेष सेल में डेटा का उपयोग करके अपडेट कर सकते हैं put()तरीका। तालिका के मौजूदा सेल मान को अपडेट करने के लिए नीचे दिए गए चरणों का पालन करें।

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

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

Configuration conf = HbaseConfiguration.create();

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

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

HTable hTable = new HTable(conf, tableName);

चरण 3: पुट क्लास को त्वरित करें

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"));
p.add(Bytes.toBytes("personal"),
Bytes.toBytes("city"),Bytes.toBytes("Delih"));

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

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

hTable.put(p);

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

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

hTable.close();

नीचे दिए गए किसी विशेष तालिका में डेटा को अपडेट करने का पूरा कार्यक्रम है।

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 UpdateData{

   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"));

      // Updating a cell value
      p.add(Bytes.toBytes("personal"),
      Bytes.toBytes("city"),Bytes.toBytes("Delih"));

      // Saving the put Instance to the HTable.
      hTable.put(p);
      System.out.println("data Updated");

      // closing HTable
      hTable.close();
   }
}

उपरोक्त कार्यक्रम को संकलित और निष्पादित करें जैसा कि नीचे दिखाया गया है।

$javac UpdateData.java
$java UpdateData

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

data Updated