HBase - डेटा हटाएं

तालिका में एक विशिष्ट कक्ष हटाना

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

delete ‘<table name>’, ‘<row>’, ‘<column name >’, ‘<time stamp>’

उदाहरण

यहां एक विशिष्ट सेल को हटाने के लिए एक उदाहरण दिया गया है। यहां हम वेतन हटा रहे हैं।

hbase(main):006:0> delete 'emp', '1', 'personal data:city',
1417521848375
0 row(s) in 0.0060 seconds

तालिका में सभी कक्ष हटाना

"डिलीटल" कमांड का उपयोग करके, आप एक पंक्ति में सभी कोशिकाओं को हटा सकते हैं। नीचे दिए गए डिलीट कमांड का सिंटैक्स है।

deleteall ‘<table name>’, ‘<row>’,

उदाहरण

यहाँ "डिलीट" कमांड का एक उदाहरण है, जहाँ हम एम्पायर टेबल की पंक्ति 1 की सभी कोशिकाओं को हटा रहे हैं।

hbase(main):007:0> deleteall 'emp','1'
0 row(s) in 0.0240 seconds

तालिका का उपयोग करके सत्यापित करें scanआदेश। तालिका को हटाने के बाद तालिका का एक स्नैपशॉट नीचे दिया गया है।

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

ROW                  COLUMN + CELL

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

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

2 column = professional data:designation, timestamp = 1417524204, 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 = 1417523187, value = jr:engg

3 column = professional data:salary, timestamp = 1417524702514, value = 25000

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

आप का उपयोग करके एक HBase तालिका से डेटा हटा सकते हैं delete() की विधि HTableकक्षा। तालिका से डेटा हटाने के लिए नीचे दिए गए चरणों का पालन करें।

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

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

Configuration conf = HbaseConfiguration.create();

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

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

HTable hTable = new HTable(conf, tableName);

स्टेप 3: डिलीट क्लास को इंस्टेंट करें

झटपट Deleteजिस पंक्ति को हटाना है उसकी पंक्ति को बाइट सरणी प्रारूप में पास करके वर्ग। आप इस निर्माणकर्ता के लिए टाइमस्टैम्प और रोवलॉक भी पास कर सकते हैं।

Delete delete = new Delete(toBytes("row1"));

चरण 4: हटाए जाने के लिए डेटा का चयन करें

के डिलीट मेथड्स का उपयोग कर आप डेटा को डिलीट कर सकते हैं Deleteकक्षा। इस वर्ग में विभिन्न हटाने के तरीके हैं। उन विधियों का उपयोग करके हटाए जाने वाले कॉलम या कॉलम परिवारों को चुनें। निम्नलिखित उदाहरणों पर एक नज़र डालें जो डिलीट क्लास के तरीकों का उपयोग दिखाते हैं।

delete.deleteColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
delete.deleteFamily(Bytes.toBytes("professional"));

चरण 5: डेटा हटाएं

चयनित डेटा को पास करके हटाएं delete उदाहरण के लिए delete() की विधि HTable नीचे दिखाया गया है।

table.delete(delete);

चरण 6: HTableInstance को बंद करें

डेटा हटाने के बाद, बंद करें HTable उदाहरण।

table.close();

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

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

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

public class DeleteData {

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

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

      // Instantiating HTable class
      HTable table = new HTable(conf, "employee");

      // Instantiating Delete class
      Delete delete = new Delete(Bytes.toBytes("row1"));
      delete.deleteColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
      delete.deleteFamily(Bytes.toBytes("professional"));

      // deleting the data
      table.delete(delete);

      // closing the HTable object
      table.close();
      System.out.println("data deleted.....");
   }
}

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

$javac Deletedata.java
$java DeleteData

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

data deleted