HBase - किसी तालिका को अक्षम करना
HBase शेल का उपयोग करके तालिका को अक्षम करना
किसी तालिका को हटाने या उसकी सेटिंग्स को बदलने के लिए, आपको पहले अक्षम कमांड का उपयोग करके तालिका को अक्षम करना होगा। आप इसे सक्षम कमांड का उपयोग करके फिर से सक्षम कर सकते हैं।
नीचे दी गई सारणी को निष्क्रिय करने का सिंटैक्स है:
disable ‘emp’
उदाहरण
नीचे दिया गया एक उदाहरण है जो दिखाता है कि तालिका को कैसे अक्षम किया जाए।
hbase(main):025:0> disable 'emp'
0 row(s) in 1.2760 seconds
सत्यापन
तालिका को अक्षम करने के बाद, आप अभी भी इसके अस्तित्व को समझ सकते हैं list तथा existsआदेशों। आप इसे स्कैन नहीं कर सकते। यह आपको निम्न त्रुटि देगा।
hbase(main):028:0> scan 'emp'
ROW COLUMN + CELL
ERROR: emp is disabled.
अक्षम है
इस कमांड का उपयोग यह पता लगाने के लिए किया जाता है कि क्या टेबल अक्षम है। इसका वाक्य विन्यास इस प्रकार है।
hbase> is_disabled 'table name'
निम्न उदाहरण सत्यापित करता है कि क्या नाम वाली तालिका अक्षम है। यदि यह अक्षम है, तो यह सही लौटेगा और यदि नहीं, तो यह गलत होगा।
hbase(main):031:0> is_disabled 'emp'
true
0 row(s) in 0.0440 seconds
सबको सक्षम कर दो
इस कमांड का उपयोग दिए गए regex से मेल खाने वाली सभी तालिकाओं को निष्क्रिय करने के लिए किया जाता है। के लिए वाक्यविन्यासdisable_all कमांड नीचे दी गई है।
hbase> disable_all 'r.*'
मान लीजिए कि HBase में 5 तालियाँ हैं, अर्थात् राज, रजनी, राजेंद्र, राजेश, और राजू। निम्न कोड के साथ शुरू होने वाले सभी तालिकाओं को अक्षम कर देगाraj.
hbase(main):002:07> disable_all 'raj.*'
raja
rajani
rajendra
rajesh
raju
Disable the above 5 tables (y/n)?
y
5 tables successfully disabled
जावा एपीआई का उपयोग कर एक टेबल को अक्षम करें
यह सत्यापित करने के लिए कि क्या कोई तालिका अक्षम है, isTableDisabled() पद्धति का उपयोग किया जाता है और तालिका को अक्षम करने के लिए, disableTable()विधि का उपयोग किया जाता है। ये विधियाँ हैंHBaseAdminकक्षा। तालिका को अक्षम करने के लिए नीचे दिए गए चरणों का पालन करें।
चरण 1
इन्स्तांत करना HBaseAdmin नीचे दिखाया गया है।
// Creating configuration object
Configuration conf = HBaseConfiguration.create();
// Creating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);
चरण 2
सत्यापित करें कि क्या तालिका का उपयोग करके अक्षम किया गया है isTableDisabled() नीचे दिखाए अनुसार विधि।
Boolean b = admin.isTableDisabled("emp");
चरण 3
यदि तालिका अक्षम नहीं है, तो इसे नीचे दिखाए अनुसार अक्षम करें।
if(!b){
admin.disableTable("emp");
System.out.println("Table disabled");
}
नीचे यह सत्यापित करने के लिए पूरा कार्यक्रम दिया गया है कि तालिका अक्षम है या नहीं; यदि नहीं, तो इसे कैसे निष्क्रिय करें।
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.client.HBaseAdmin;
public class DisableTable{
public static void main(String args[]) throws MasterNotRunningException, IOException{
// Instantiating configuration class
Configuration conf = HBaseConfiguration.create();
// Instantiating HBaseAdmin class
HBaseAdmin admin = new HBaseAdmin(conf);
// Verifying weather the table is disabled
Boolean bool = admin.isTableDisabled("emp");
System.out.println(bool);
// Disabling the table using HBaseAdmin object
if(!bool){
admin.disableTable("emp");
System.out.println("Table disabled");
}
}
}
उपरोक्त कार्यक्रम को संकलित और निष्पादित करें जैसा कि नीचे दिखाया गया है।
$javac DisableTable.java
$java DsiableTable
निम्नलिखित आउटपुट होना चाहिए:
false
Table disabled