उदाहरणों के साथ HBase शैल कमांड

विषय - सूची:

Anonim

Hadoop के शीर्ष पर HBase की सफल स्थापना के बाद, हमें विभिन्न कमांड निष्पादित करने और कई ऑपरेशन करने के लिए एक इंटरैक्टिव शेल मिलता है। इन आदेशों का उपयोग करके, हम डेटा-टेबल पर कई ऑपरेशन कर सकते हैं जो क्लाइंट द्वारा बेहतर डेटा स्टोरेज क्षमता और लचीली बातचीत दे सकते हैं।

हम दो तरीकों से HBase के साथ बातचीत कर सकते हैं,

  • HBase इंटरैक्टिव शेल मोड और
  • जावा एपीआई के माध्यम से

HBase में, तालिका संचालन, तालिका प्रबंधन और डेटा मॉडलिंग के लिए HBase के साथ बातचीत करने के लिए इंटरैक्टिव शेल मोड का उपयोग किया जाता है। जावा एपीआई मॉडल का उपयोग करके, हम HBase में सभी प्रकार की तालिका और डेटा संचालन कर सकते हैं। हम दोनों तरीकों का उपयोग करके HBase के साथ बातचीत कर सकते हैं।

इन दोनों के बीच एकमात्र अंतर एचबी एपीआई का उपयोग जावा कोड है जो HBase से कनेक्ट करने के लिए है और शेल मोड HBase से कनेक्ट करने के लिए शेल कमांड का उपयोग करता है।

हम आगे बढ़ने से पहले HBase का त्वरित ओवरकैप-

  • HBase बड़ी मात्रा में डेटा संग्रहीत करने के लिए संग्रहण प्रणाली के रूप में Hadoop फ़ाइलों का उपयोग करता है। Hbase में मास्टर सर्वर और क्षेत्र सर्वर शामिल हैं
  • HBase में जो डेटा स्टोर होने वाला है, वह क्षेत्रों के रूप में होगा। इसके अलावा, इन क्षेत्रों को विभाजित किया जाएगा और कई क्षेत्र सर्वरों में संग्रहीत किया जाएगा
  • यह शेल कमांड प्रोग्रामर को पूर्ण शैल मोड इंटरैक्शन का उपयोग करके टेबल स्कीमा और डेटा ऑपरेशन को परिभाषित करने की अनुमति देता है
  • हम जो भी आदेश का उपयोग करते हैं, वह HBase डेटा मॉडल में प्रतिबिंबित करने जा रहा है
  • हम बैश शेल की तरह ऑपरेटिंग सिस्टम स्क्रिप्ट दुभाषियों में HBase शेल कमांड का उपयोग करते हैं
  • बैश शेल अधिकांश लिनक्स और यूनिक्स ऑपरेटिंग डिस्ट्रीब्यूशन के लिए डिफ़ॉल्ट कमांड इंटरप्रिटर्स है
  • HBase उन्नत संस्करण शेल कमांड को टेबल के लिए जुरबी-शैली ऑब्जेक्ट ओरिएंटेड संदर्भ प्रदान करता है
  • टेबल संदर्भ चर का उपयोग HBase शेल मोड में डेटा संचालन करने के लिए किया जा सकता है

उदाहरण के लिए ,

  • इस ट्यूटोरियल में, हमने एक तालिका बनाई है जिसमें 'शिक्षा' तालिका नाम का प्रतिनिधित्व करती है और कॉलम नाम "गुरु 99" से मेल खाती है।
  • कुछ आदेशों में "गुरु99", अपने आप में एक तालिका नाम का प्रतिनिधित्व करता है।

इस ट्यूटोरियल में - आप सीखेंगे,

  • सामान्य आदेश
  • तालिकाएँ प्रबंधन आदेश
  • डेटा हेरफेर आदेश
  • क्लस्टर प्रतिकृति कमान

सामान्य आदेश

Hbase में, सामान्य कमांड को निम्न कमांड में वर्गीकृत किया जाता है

  • स्थिति
  • संस्करण
  • Table_help (स्कैन, ड्रॉप, प्राप्त, पुट, अक्षम, आदि)
  • मैं कौन हूं

HBase शेल कमांड में प्रवेश करने के लिए, सबसे पहले, हमें नीचे बताए अनुसार कोड निष्पादित करना होगा

hbase Shell

एक बार जब हम HBase शेल में प्रवेश करते हैं, तो हम नीचे उल्लिखित सभी शेल कमांड निष्पादित कर सकते हैं। इन कमांड की मदद से, हम HBase शेल मोड में सभी प्रकार के टेबल ऑपरेशन कर सकते हैं।

आइए हम इन सभी आदेशों और उनके उपयोग को एक-एक करके एक उदाहरण के साथ देखें।

स्थिति

Syntax:status

यह कमांड सिस्टम स्थिति के बारे में विवरण देगा जैसे क्लस्टर में मौजूद कई सर्वर, सक्रिय सर्वर गणना और औसत लोड मान। सिस्टम के बारे में आप कितना विस्तृत स्थिति जानना चाहते हैं, इसके आधार पर आप कोई विशेष पैरामीटर भी पास कर सकते हैं। पैरामीटर 'सारांश', 'सरल' या 'विस्तृत' हो सकते हैं , प्रदान किया गया डिफ़ॉल्ट पैरामीटर "सारांश" है।

नीचे हमने दिखाया है कि आप अलग-अलग मापदंडों को स्टेटस कमांड में कैसे पास कर सकते हैं।

यदि हम नीचे स्क्रीन शॉट का अवलोकन करते हैं, तो हमें एक बेहतर विचार मिलेगा।

hbase(main):001:0>statushbase(main):002:0>status 'simple'hbase(main):003:0>status 'summary'hbase(main):004:0> status 'detailed'

जब हम इस कमांड स्थिति को निष्पादित करते हैं, तो यह सर्वर के वर्तमान, मृत सर्वर और सर्वर के औसत लोड की संख्या के बारे में जानकारी देगा, यहां स्क्रीनशॉट में यह जानकारी दिखाता है जैसे- 1 लाइव सर्वर, 1 मृत सर्वर और 7.0000 औसत लोड।

संस्करण

Syntax: version

  • यह कमांड वर्तमान में उपयोग किए गए HBase संस्करण को कमांड मोड में प्रदर्शित करेगा
  • यदि आप संस्करण कमांड चलाते हैं, तो यह आउटपुट देगा जैसा कि ऊपर दिखाया गया है

टेबल की मदद

Syntax:table_help

यह कमांड गाइड करता है

  • तालिका-संदर्भित आदेशों का उपयोग कैसे और कैसे करें
  • यह विभिन्न HBase शेल कमांड usages और उसके सिंटैक्स प्रदान करेगा
  • यहां ऊपर दी गई स्क्रीन में, इसका सिंटैक्स " उपयोग" और " get_table" कमांड को इसके उपयोग के साथ दिखाता है । एक बार HBase में तालिका बनने के बाद हम इन कमांड के माध्यम से तालिका में फेरबदल कर सकते हैं।
  • यह पुट, गेट और अन्य सभी कमांड सूचनाओं की तरह टेबल मैनिपुलेशन कमांड देगा।

मैं कौन हूं

वाक्य - विन्यास:

Syntax: Whoami

इस आदेश "whoami" का उपयोग HBase क्लस्टर से वर्तमान HBase उपयोगकर्ता जानकारी को वापस करने के लिए किया जाता है।

यह जैसी जानकारी प्रदान करेगा

  • HBase में मौजूद समूह
  • उपयोगकर्ता जानकारी, उदाहरण के लिए इस मामले में "hduser" स्क्रीन शॉट में दिखाए अनुसार उपयोगकर्ता नाम का प्रतिनिधित्व करता है

TTL (समय को जीने के लिए) - विशेषता

HBase में, कॉलम परिवारों को TTL का उपयोग करके सेकंड में समय मान पर सेट किया जा सकता है। समाप्ति का समय पूरा होने के बाद HBase स्वचालित रूप से पंक्तियों को हटा देगा। यह विशेषता पंक्ति के सभी संस्करणों पर लागू होती है - यहां तक ​​कि वर्तमान संस्करण भी।

TTL समय पंक्ति में HBase में एन्कोडेड UTC में निर्दिष्ट है। यह विशेषता तालिका प्रबंधन आदेशों के साथ प्रयोग की जाती है।

TTL हैंडलिंग और कॉलम परिवार TTL के बीच महत्वपूर्ण अंतर नीचे हैं

  • सेल TTL सेकंड के बजाय मिलीसेकंड की इकाइयों में व्यक्त किए जाते हैं।
  • एक सेल TTL एक स्तंभ परिवार स्तर TTL सेटिंग से परे एक सेल के प्रभावी जीवनकाल का विस्तार नहीं कर सकता।

तालिकाएँ प्रबंधन आदेश

ये कमांड प्रोग्रामर को पंक्तियों और स्तंभ परिवारों के साथ टेबल और टेबल स्कीमा बनाने की अनुमति देंगे।

निम्न तालिका प्रबंधन आदेश हैं

  • सृजन करना
  • सूची
  • वर्णन
  • अक्षम
  • सबको सक्षम कर दो
  • सक्षम
  • सभी को सक्षम करें
  • ड्रॉप
  • Drop_all
  • शो_फिल्टर
  • ऑल्टर
  • अल्टर_स्टैटस

एक उदाहरण के साथ HBase में विभिन्न कमांड के उपयोग पर ध्यान दें।

सृजन करना

Syntax: create 
, 

उदाहरण:-

hbase(main):001:0> create 'education' ,'guru99'0 rows(s) in 0.312 seconds=>Hbase::Table - education

उपरोक्त उदाहरण बताते हैं कि एचबीएज़ में एक तालिका कैसे बनाई जाए, जो कि कॉलम परिवार के अनुसार शब्दकोश या विशिष्टताओं के अनुसार निर्दिष्ट नाम के साथ हो। इसके अतिरिक्त हम इसमें कुछ टेबल-स्कोप विशेषताओं को भी पास कर सकते हैं।

यह जाँचने के लिए कि तालिका 'शिक्षा' बनाई गई है या नहीं, हमें नीचे बताए अनुसार "सूची" कमांड का उपयोग करना होगा ।

सूची

Syntax:list

  • "सूची" आदेश उन सभी तालिकाओं को प्रदर्शित करेगा जो HBase में मौजूद हैं या बनाई गई हैं
  • उपरोक्त स्क्रीन शॉट में दिखाया गया आउटपुट वर्तमान में HBase में मौजूदा तालिकाओं को दिखा रहा है
  • यहां इस स्क्रीनशॉट में दिखाया गया है कि HBase के अंदर कुल 8 टेबल मौजूद हैं
  • हम वैकल्पिक नियमित अभिव्यक्ति मापदंडों को पारित करके तालिकाओं से आउटपुट मान फ़िल्टर कर सकते हैं

वर्णन

Syntax:describe 

hbase(main):010:0>describe 'education'

यह आदेश नामित तालिका का वर्णन करता है।

  • यह उल्लेखित तालिका में मौजूद कॉलम परिवारों के बारे में अधिक जानकारी देगा
  • हमारे मामले में, यह तालिका "शिक्षा" के बारे में विवरण देता है।
  • यह कॉलम परिवारों, संबद्ध फ़िल्टर, संस्करणों और कुछ और विवरणों के साथ तालिका के नाम के बारे में जानकारी देगा।

अक्षम

Syntax: disable 

hbase(main):011:0>disable 'education'
  • यह आदेश नामित तालिका को अक्षम करना शुरू कर देगा
  • यदि तालिका को हटाने या छोड़ने की आवश्यकता है, तो उसे पहले अक्षम करना होगा

यहां, उपरोक्त स्क्रीनशॉट में हम टेबल शिक्षा को अक्षम कर रहे हैं

सबको सक्षम कर दो

 Syntax: disable_all<"matching regex"
  • यह कमांड दिए गए रेगेक्स से मेल खाने वाली सभी तालिकाओं को निष्क्रिय कर देगा।
  • कार्यान्वयन समान रूप से हटाए जाने के आदेश के रूप में है (मिलान के लिए regex को छोड़कर)
  • एक बार तालिका अक्षम हो जाने पर उपयोगकर्ता HBase से तालिका को हटाने में सक्षम हो सकता है
  • तालिका को हटाने या छोड़ने से पहले, इसे पहले अक्षम किया जाना चाहिए

सक्षम

Syntax: enable 

hbase(main):012:0>enable 'education'
  • यह कमांड नामित तालिका को सक्षम करना शुरू कर देगा
  • जो भी तालिका अक्षम है, अपनी पिछली स्थिति में वापस लाने के लिए हम इस कमांड का उपयोग करते हैं
  • यदि कोई तालिका पहले उदाहरण में अक्षम है और हटा दी गई है या नहीं, और यदि हम अक्षम तालिका का फिर से उपयोग करना चाहते हैं तो हमें इस आदेश का उपयोग करके इसे सक्षम करना होगा।
  • यहाँ उपरोक्त स्क्रीनशॉट में हम "शिक्षा" तालिका को सक्षम कर रहे हैं।

show_filters

Syntax: show_filters

यह कमांड HBase में मौजूद सभी फिल्टरों को प्रदर्शित करता है जैसे ColumnPrefix Filter, TimestampsFilter, PageFilter, FamilyFilter, आदि।

ड्रॉप

Syntax:drop 

hbase(main):017:0>drop 'education'

हमें ड्रॉप कमांड के लिए नीचे बिंदुओं का अवलोकन करना होगा

  • HBase में मौजूद तालिका को हटाने के लिए, पहले हमें इसे अक्षम करना होगा
  • HBase में मौजूद तालिका को छोड़ने के लिए, पहले हमें इसे अक्षम करना होगा
  • तो या तो टेबल को पहले हटाने या हटाने के लिए टेबल को अक्षम कमांड का उपयोग करके अक्षम किया जाना चाहिए
  • यहाँ ऊपर के स्क्रीनशॉट में हम टेबल "शिक्षा" छोड़ रहे हैं।
  • इस आदेश के निष्पादन से पहले, यह आवश्यक है कि आप "शिक्षा" को अक्षम कर दें।

drop_all

Syntax: drop_all<"regex">
  • यह कमांड दिए गए रेगेक्स से मेल खाते सभी टेबलों को गिरा देगा
  • इस कमांड को disable_all का उपयोग करने से पहले टेबल्स को पहले डिसेबल करना होगा
  • रेगेक्स मैचिंग एक्सप्रेशंस वाली टेबल्स HBase से ड्रॉप होने वाली हैं

सक्षम किया गया है

Syntax: is_enabled 'education'

यह आदेश सत्यापित करेगा कि नामित तालिका सक्षम है या नहीं। आमतौर पर, "सक्षम" और "is_enabled" कमांड कार्रवाई के बीच थोड़ा भ्रम होता है, जिसे हम यहां स्पष्ट करते हैं

  • मान लीजिए कि एक तालिका अक्षम है, उस तालिका का उपयोग करने के लिए हमें सक्षम कमांड का उपयोग करके इसे सक्षम करना होगा
  • is_enabled कमांड जाँच करेगा कि तालिका सक्षम है या नहीं

बदलने

Syntax: alter 
, NAME=>, VERSIONS=>5

यह आदेश कॉलम परिवार स्कीमा को बदल देता है। यह समझने के लिए कि यह वास्तव में क्या करता है, हमने इसे एक उदाहरण के साथ यहां समझाया है।

उदाहरण:

इन उदाहरणों में, हम तालिकाओं और उसके स्तंभों पर कमांड संचालन में परिवर्तन करने जा रहे हैं। हम जैसे ऑपरेशन करेंगे

  • एकल एकल, कई कॉलम परिवार के नाम
  • स्तंभ परिवार के नामों को तालिका से हटाना
  • तालिका के साथ गुंजाइश विशेषताओं का उपयोग करते हुए कई अन्य ऑपरेशन
  1. अधिकतम 5 सेल संस्करण रखने के लिए वर्तमान मूल्य से 'गुरु99_1' कॉलम परिवार को 'शिक्षा' में बदलने या जोड़ने के लिए ,
  • "शिक्षा" पहले से स्तंभ नाम "गुरु 99" के साथ बनाया गया तालिका नाम है
  • यहां एक परिवर्तन कमांड की मदद से हम कॉलम परिवार स्कीमा को गुरु 99 से गुरु99 में बदलने की कोशिश कर रहे हैं

hbase> alter 'education', NAME='guru99_1', VERSIONS=>5
  1. आप कई कॉलम परिवारों पर भी कमांड बदल सकते हैं। उदाहरण के लिए, हम अपनी मौजूदा तालिका "शिक्षा" में दो नए कॉलम को परिभाषित करेंगे।
 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}

  • हम इस कमांड का उपयोग करके एक समय में एक से अधिक कॉलम स्कीमा बदल सकते हैं
  • गुरु99_2 और गुरु99_3 जैसा कि ऊपर स्क्रीनशॉट में दिखाया गया है, दो नए कॉलम नाम हैं जिन्हें हमने टेबल एजुकेशन के लिए परिभाषित किया है
  • हम पिछले स्क्रीन शॉट में इस कमांड का उपयोग करने का तरीका देख सकते हैं
  1. इस चरण में, हम देखेंगे कि स्तंभ परिवार को तालिका से कैसे हटाया जाए। तालिका 'शिक्षा' में 'f1' कॉलम परिवार को हटाने के लिए।

नीचे दिए गए एक आदेश का उपयोग करें,

hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1' 
  • इस आदेश में, हम पहले चरण में बनाए गए कॉलम स्पेस नाम गुरु99_1 को हटाने का प्रयास कर रहे हैं

  1. जैसा कि नीचे स्क्रीन शॉट्स में दिखाया गया है, यह दो चरण दिखाता है - टेबल स्कोप विशेषता को कैसे बदलें और टेबल स्कोप विशेषता को कैसे निकालें।
Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'

चरण 1) आप MAX -FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH, आदि जैसे टेबल-स्कोप की विशेषताओं को बदल सकते हैं। इन्हें अंत में रखा जा सकता है; उदाहरण के लिए, किसी क्षेत्र का अधिकतम आकार 128 एमबी या किसी अन्य मेमोरी वैल्यू को बदलने के लिए, जिसका हम उपयोग करते हैं। आज्ञा।

उपयोग:

  • हम अधिकतम विशेषता के रूप में तालिका के साथ MAX_FILESIZE का उपयोग कर सकते हैं
  • MAX_FILESIZE में प्रतिनिधित्व संख्या बाइट्स में स्मृति की अवधि में है

N OTE: MAX_FILESIZE विशेषता तालिका क्षेत्र HBase में मौजूद कुछ विशेषताओं द्वारा निर्धारित किया जाएगा। MAX_FILESIZE भी तालिका क्षेत्र विशेषताओं के अंतर्गत आता है।

चरण 2) आप table_att_unset पद्धति का उपयोग करके तालिका-गुंजाइश विशेषता भी निकाल सकते हैं। यदि आप कमांड देखते हैं

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • ऊपर स्क्रीन शॉट गुंजाइश विशेषताओं के साथ बदल तालिका नाम दिखाता है
  • विधि table_att_unset का उपयोग तालिका में मौजूद विशेषताओं को अनसेट करने के लिए किया जाता है
  • दूसरा उदाहरण जो हम परेशान कर रहे हैं वह MAX_FILESIZE विशेषता है
  • कमांड के निष्पादन के बाद, यह "शिक्षा" तालिका से बस MAX_FILESIZE विशेषता को परेशान करेगा।

change_status

 Syntax: alter_status 'education'

  • इस आदेश के माध्यम से, आप परिवर्तन आदेश की स्थिति प्राप्त कर सकते हैं
  • जो तालिका के उन क्षेत्रों की संख्या को इंगित करता है जिन्हें अद्यतन स्कीमा पास तालिका नाम मिला है
  • यहाँ ऊपर स्क्रीन शॉट में यह 1/1 क्षेत्रों को अद्यतन दिखाता है। इसका मतलब है कि इसने एक क्षेत्र को अपडेट किया है। उसके बाद यदि यह सफल होता है तो यह की गई टिप्पणी को प्रदर्शित करेगा।

डेटा हेरफेर आदेश

ये कमांड डेटा मैनिपुलेशन से संबंधित टेबल पर काम करेंगे जैसे डेटा को टेबल में डालना, टेबल से डेटा रीचार्ज करना और डिलीट करना, आदि।

इनके अंतर्गत आदेश आते हैं

  • गिनती
  • डाल
  • प्राप्त
  • हटाएं
  • सभी हटा दो
  • काट-छांट
  • स्कैन

एक उदाहरण के साथ इन कमांड के उपयोग पर ध्यान दें।

गिनती

Syntax: count <'tablename'>, CACHE =>1000
  • आदेश एक तालिका में कई पंक्तियों की गिनती को पुनः प्राप्त करेगा। इसके द्वारा दिया गया मान पंक्तियों की संख्या है।
  • वर्तमान गणना डिफ़ॉल्ट रूप से प्रत्येक 1000 पंक्तियों के अनुसार दिखाई जाती है।
  • गणना अंतराल वैकल्पिक रूप से निर्दिष्ट किया जा सकता है।
  • डिफ़ॉल्ट कैश आकार 10 पंक्तियों है।
  • जब यह सही कैश के साथ कॉन्फ़िगर किया जाता है तो काउंट कमांड तेजी से काम करेगा।

उदाहरण:

hbase> count 'guru99', CACHE=>1000

यह उदाहरण "गुरू 99" तालिका से एक बार में 1000 पंक्तियों की गणना करता है।

यदि तालिका में अधिक पंक्तियाँ हैं, तो हम कुछ कम मूल्य पर कैश बना सकते हैं।

लेकिन डिफ़ॉल्ट रूप से यह एक बार में एक पंक्ति लाएगा।

hbase>count 'guru99', INTERVAL => 100000hbase> count 'guru99', INTERVAL =>10, CACHE=> 1000

अगर मान लें कि टेबल "गुरु 99" में टेबल की तरह कुछ संदर्भ हैं।

हम काउंट कमांड को टेबल रेफरेंस पर भी नीचे की तरह चला सकते हैं

hbase>g.count INTERVAL=>100000hbase>g.count INTERVAL=>10, CACHE=>1000

डाल

Syntax: put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>

इस कमांड का उपयोग निम्नलिखित चीजों के लिए किया जाता है

  • यह परिभाषित या निर्दिष्ट तालिका या पंक्ति या स्तंभ पर एक सेल 'मान' डालेगा।
  • यह वैकल्पिक रूप से समय स्टाम्प का समन्वय करेगा।

उदाहरण:

  • यहां हम पंक्ति r1 और कॉलम c1 के तहत "गुरु99" तालिका में मान रख रहे हैं
    hbase> put 'guru99', 'r1', 'c1', 'value', 10
  • हमने तीन मान रखे हैं, 10,15 और 30 टेबल "गुरु 99" में, जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है

  • मान लीजिए अगर टेबल "गुरु 99" में कुछ टेबल संदर्भ हैं जैसे कि जी। हम कमांड को टेबल रेफरेंस पर भी चला सकते हैं

    hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
  • आउटपुट "गुरु 99" में मान रखने के बाद उपरोक्त स्क्रीन शॉट में दिखाया जाएगा।

यह जांचने के लिए कि क्या इनपुट वैल्यू सही तरीके से टेबल में डाली गई है, हम "स्कैन" कमांड का उपयोग करते हैं। नीचे स्क्रीन शॉट में, हम देख सकते हैं कि मान सही ढंग से डाले गए हैं

कोड स्निपेट: अभ्यास के लिए

create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}put 'guru99', 'r1', 'Edu:c1', 'value', 10put 'guru99', 'r1', 'Edu:c1', 'value', 15put 'guru99', 'r1', 'Edu:c1', 'value', 30

कोड स्निपेट से, हम इन चीजों को कर रहे हैं

  • यहां हम स्तंभ नाम के साथ "Edu" के रूप में 'Guru99' नामक एक तालिका बना रहे हैं।
  • "पुट" कमांड का उपयोग करके, हम कॉलम "एडू" में पंक्ति नाम r1 में मानों को "गुरु99" में रख रहे हैं। "

प्राप्त

Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}

यहाँ <अतिरिक्त पैरामीटर> TIMERANGE, TIMESTAMP, संस्करण और फ़िल्टर शामिल हैं।

इस कमांड का उपयोग करके, आपको तालिका में मौजूद एक पंक्ति या सेल सामग्री मिल जाएगी। इसके अलावा, आप किसी विशेष पंक्ति या सेल सामग्री को प्राप्त करने के लिए इसमें अतिरिक्त पैरामीटर भी जोड़ सकते हैं जैसे TIMESTAMP, TIMERANGE, संस्करण, फ़िल्टर आदि।

उदाहरण:-

hbase> get 'guru99', 'r1', {COLUMN => 'c1'}

तालिका "गुरु 99 'पंक्ति के लिए आर 1 और कॉलम सी 1 मान इस कमांड का उपयोग करके प्रदर्शित करेंगे जैसा कि ऊपर स्क्रीन शॉट में दिखाया गया है

hbase> get 'guru99', 'r1'

तालिका "गुरु99" पंक्ति के लिए r1 मान इस कमांड का उपयोग करके प्रदर्शित किया जाएगा

hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}

तालिका "गुरु 99" पंक्ति 1 के लिए समय सीमा ts1 और ts2 में इस कमांड का उपयोग करके प्रदर्शित किया जाएगा

hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}

तालिका "गुरु99" पंक्ति के लिए आर 1 और कॉलम परिवारों के सी 1, सी 2, सी 3 मान इस कमांड का उपयोग करके प्रदर्शित किए जाएंगे

हटाएं

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • यह कमांड पंक्ति या स्तंभ की परिभाषित तालिका में सेल मान को हटा देगा।
  • हटाएं को हटाना चाहिए और हटाए गए कक्षों से मेल खाना चाहिए।
  • स्कैन करते समय, हटाएं सेल मानों के पुराने संस्करणों को दबा देता है।

उदाहरण:

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''. 
  • उपरोक्त निष्पादन स्तंभ परिवार c1 से पंक्ति r1 को "गुरु99" में हटा देगा।
  • मान लीजिए अगर टेबल "गुरु 99" में कुछ टेबल संदर्भ जैसे कि जी।
  • हम कमांड को टेबल संदर्भ पर भी चला सकते हैं जैसे hbase> g.delete 'guru99', 'r1', 'c1 ""।

सभी हटा दो

Syntax: deleteall <'tablename'>, <'rowname'>

  • यह कमांड किसी पंक्ति में सभी कोशिकाओं को हटा देगा।
  • हम वैकल्पिक रूप से कॉलम नाम और समय स्टाम्प को सिंटैक्स में परिभाषित कर सकते हैं।

उदाहरण:-

hbase>deleteall 'guru99', 'r1', 'c1'

यह तालिका में मौजूद सभी पंक्तियों और स्तंभों को हटा देगा। वैकल्पिक रूप से हम उसमें स्तंभ नामों का उल्लेख कर सकते हैं।

काट-छांट

Syntax: truncate 

एक hbase तालिका के टुकड़े टुकड़े होने के बाद, स्कीमा प्रस्तुत करेगा लेकिन रिकॉर्ड नहीं। यह कमांड 3 कार्य करता है; जिन्हें नीचे सूचीबद्ध किया गया है

  • यदि यह पहले से ही प्रस्तुत है तो तालिका को निष्क्रिय कर देता है
  • ड्रॉप टेबल अगर यह पहले से ही प्रस्तुत करता है
  • उल्लिखित तालिका को फिर से बनाता है

स्कैन

Syntax: scan <'tablename'>, {Optional parameters}

यह कमांड संपूर्ण तालिका को स्कैन करता है और तालिका सामग्री को प्रदर्शित करता है।

  • सिस्टम में मौजूद तालिकाओं के बारे में अधिक जानकारी प्राप्त करने के लिए हम इस स्कैन कमांड में कई वैकल्पिक विनिर्देश पारित कर सकते हैं।
  • स्कैनर विनिर्देशों में निम्नलिखित विशेषताओं में से एक या अधिक शामिल हो सकते हैं।
  • ये हैं TIMERANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW और STOPROW।
scan 'guru99' 

नीचे दिया गया आउटपुट स्क्रीन शॉट में दिखाया गया है

ऊपर स्क्रीन शॉट में

  • यह कॉलम नाम और मूल्यों के साथ "गुरु99" तालिका दिखाता है
  • इसमें एकल स्तंभ मान c1 के लिए तीन पंक्ति मान r1, r2, r3 शामिल हैं
  • यह पंक्तियों से जुड़े मूल्यों को प्रदर्शित करता है

उदाहरण:-

स्कैन कमांड के विभिन्न उपयोग

आदेश

प्रयोग

स्कैन

यह उन सभी मेटा डेटा सूचनाओं को प्रदर्शित करता है जो स्तंभों से संबंधित हैं जो HBase में तालिकाओं में मौजूद हैं

स्कैन 'गुरु 99', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}

यह उनके कॉलम परिवारों c1 और c2 के मान के साथ टेबल गुरु 99 की सामग्री को 10 तक सीमित करता है

स्कैन 'गुरु 99', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}

यह निर्दिष्ट समय सीमा विशेषता मान के बीच मौजूद मानों के साथ अपने स्तंभ नाम c1 के साथ गुरु 99 की सामग्री प्रदर्शित करता है

'गुरु 99' को स्कैन करें, {RAW => सत्य, संस्करण => 10}

इस आदेश में RAW => सत्य उन्नत सुविधा प्रदान करता है जैसे तालिका गुरु 99 में मौजूद सभी सेल वैल्यू को प्रदर्शित करना

कोड उदाहरण:

पहले तालिका बनाएं और मूल्यों को तालिका में रखें

create 'guru99', {NAME=>'e', VERSIONS=>2147483647}put 'guru99', 'r1', 'e:c1', 'value', 10put 'guru99', 'r1', 'e:c1', 'value', 12put 'guru99', 'r1', 'e:c1', 'value', 14delete 'guru99', 'r1', 'e:c1', 11

इनपुट स्क्रीनशॉट:

अगर हम स्कैन कमांड चलाते हैं

Query: scan 'guru99', {RAW=>true, VERSIONS=>1000}

यह नीचे दिखाए गए आउटपुट को प्रदर्शित करेगा।

आउटपुट स्क्रीन शॉट:

उपरोक्त स्क्रीन शॉट में दिखाया गया आउटपुट निम्न जानकारी देता है

  • RAW => सत्य, संस्करण => 1000 के साथ गुरु99 तालिका को स्कैन करना
  • स्तंभ परिवारों और मूल्यों के साथ पंक्तियों को प्रदर्शित करना
  • तीसरी पंक्ति में, प्रदर्शित किए गए मान स्तंभ में मौजूद हटाए गए मान को दिखाते हैं
  • इसके द्वारा प्रदर्शित आउटपुट यादृच्छिक है; यह उसी तरह का आदेश नहीं हो सकता जैसा कि हमने तालिका में डाला है

क्लस्टर प्रतिकृति कमान

  • ये कमांड HBase के क्लस्टर सेट अप मोड पर काम करते हैं।
  • साथियों को क्लस्टर में जोड़ने और हटाने के लिए और प्रतिकृति शुरू करने और बंद करने के लिए इन आदेशों का सामान्य रूप से उपयोग किया जाता है।

आदेश

कार्यक्षमता

add_peer

दोहराने के लिए साथियों को क्लस्टर में जोड़ें

hbase> add_peer '3', zk1, zk2, zk3: 2182: / hasease-prod

remove_peer

परिभाषित प्रतिकृति धारा को रोक देता है।

सहकर्मी के बारे में सभी मेटाडेटा जानकारी हटाता है

hbase> remove_peer '1'

start_replication

सभी प्रतिकृति सुविधाओं को पुनरारंभ करता है

hbase> start_replication

stop_replication

सभी प्रतिकृति सुविधाओं को रोकता है

hbase> stop_replication

सारांश :

HBase शेल और सामान्य कमांड विभिन्न प्रकार के डेटा हेरफेर, टेबल प्रबंधन और क्लस्टर प्रतिकृति कमांड के बारे में पूरी जानकारी देते हैं। हम HBase में मौजूद टेबल पर इन कमांड्स का उपयोग करके विभिन्न कार्य कर सकते हैं।