HBase - लिस्टिंग तालिका
HBase शेल का उपयोग करके एक तालिका की सूची बनाना
सूची वह कमांड है जिसका उपयोग HBase में सभी तालिकाओं को सूचीबद्ध करने के लिए किया जाता है। नीचे दी गई सूची कमांड का सिंटैक्स है।
hbase(main):001:0 > list
जब आप इस कमांड को टाइप करते हैं और HBase प्रॉम्प्ट में निष्पादित करते हैं, तो यह HBase की सभी तालिकाओं की सूची प्रदर्शित करेगा जैसा कि नीचे दिखाया गया है।
hbase(main):001:0> list
TABLE
emp
यहां आप एम्प नाम की एक तालिका देख सकते हैं।
जावा एपीआई का उपयोग करके टेबल्स की सूची बनाना
जावा एपीआई का उपयोग करके HBase से तालिकाओं की सूची प्राप्त करने के लिए नीचे दिए गए चरणों का पालन करें।
चरण 1
आपके पास एक विधि है listTables() कक्षा मैं HBaseAdminHBase में सभी तालिकाओं की सूची प्राप्त करने के लिए। यह विधि एक सरणी देता हैHTableDescriptor वस्तुओं।
//creating a configuration object
Configuration conf = HBaseConfiguration.create();
//Creating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);
//Getting all the list of tables using HBaseAdmin object
HTableDescriptor[] tableDescriptor = admin.listTables();
चरण 2
की लंबाई प्राप्त कर सकते हैं HTableDescriptor[] की लंबाई चर का उपयोग कर सरणी HTableDescriptorकक्षा। इस ऑब्जेक्ट का उपयोग करके तालिकाओं का नाम प्राप्त करेंgetNameAsString()तरीका। इनका उपयोग करके 'फॉर' लूप चलाएं और HBase में तालिकाओं की सूची प्राप्त करें।
नीचे दिए गए जावा एपीआई का उपयोग करते हुए HBase में सभी तालिकाओं को सूचीबद्ध करने का कार्यक्रम है।
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.client.HBaseAdmin;
public class ListTables {
public static void main(String args[])throws MasterNotRunningException, IOException{
// Instantiating a configuration class
Configuration conf = HBaseConfiguration.create();
// Instantiating HBaseAdmin class
HBaseAdmin admin = new HBaseAdmin(conf);
// Getting all the list of tables using HBaseAdmin object
HTableDescriptor[] tableDescriptor = admin.listTables();
// printing all the table names.
for (int i=0; i<tableDescriptor.length;i++ ){
System.out.println(tableDescriptor[i].getNameAsString());
}
}
}
उपरोक्त कार्यक्रम को संकलित और निष्पादित करें जैसा कि नीचे दिखाया गया है।
$javac ListTables.java
$java ListTables
निम्नलिखित आउटपुट होना चाहिए:
User
emp