2012-02-03 21 views
8

मुझे लगभग एचबीएएस के बारे में कुछ भी पता नहीं है। बुनियादी सवालों के लिए खेद है।एचबीएएस द्वारा समूह

कल्पना कीजिए कि मेरे पास 10 int, एक डेटाटाइम और एक स्ट्रिंग कॉलम के साथ 100 बिलियन पंक्तियों की एक तालिका है।

  1. क्या एचबीएएस इस तालिका से पूछताछ करने की अनुमति देता है और परिणाम को कुंजी (यहां तक ​​कि एक समग्र कुंजी) के आधार पर समूहित करता है?
  2. यदि हां, तो क्या इसे नक्शा चलाने/नौकरी कम करने पड़ते हैं?
  3. आप इसे क्वेरी कैसे खिलाते हैं?
  4. क्या एचबीएस सामान्य रूप से एक टेबल पर प्रश्नों की तरह वास्तविक समय कर सकता है?

उत्तर

12

एचबीज़ में डेटा एकत्रीकरण "वास्तविक समय विश्लेषण" की आवश्यकता के साथ छेड़छाड़ करता है। जबकि इस प्रकार की कार्यक्षमता के लिए एचबीएएस नहीं बनाया गया है, इसके लिए बहुत आवश्यकता है। तो ऐसा करने के तरीकों की संख्या विकसित/विकसित की जाएगी।
1): Hive तालिका को हाइव में बाहरी तालिका के रूप में पंजीकृत करें और समेकन करें। एचबीएएस एपीआई के माध्यम से डेटा का उपयोग किया जाएगा जो कि कुशल नहीं है। Configuring Hive with Hbase यह इस बारे में चर्चा है कि यह कैसे किया जा सकता है। यह एचबीएएस डेटा द्वारा समूहित करने का सबसे शक्तिशाली तरीका है। यह एमआर नौकरियों को चलाने का मतलब है लेकिन एचबीई द्वारा, एचबीएस द्वारा नहीं।
2) आप एचडीएफएस में एचएफआईएस में बैठे एचबीएएस डेटा के साथ काम कर रहे एमआर नौकरी लिख सकते हैं। यह सबसे प्रभावी तरीका होगा, लेकिन सरल नहीं है और आपके द्वारा संसाधित डेटा कुछ हद तक पुराना होगा। यह सबसे प्रभावी है क्योंकि डेटा एचबीएएस एपीआई के माध्यम से स्थानांतरित नहीं किया जाएगा - इसके बजाय यह अनुक्रमिक तरीके से एचडीएफएस से सीधे पहुंच जाएगा।
3) एचबीएएस के अगले संस्करण में कॉप्रोसेसर होंगे जो विशिष्ट क्षेत्रों के भीतर एकत्रीकरण में सक्षम होंगे। आप उन्हें आरडीबीएमएस शब्द में एक तरह की संग्रहीत प्रक्रियाओं के रूप में मान सकते हैं।
4) स्मृति में, अंतर-क्षेत्र एमआर नौकरी जिसे एक नोड में पैराराइलाइज्ड किया जाएगा भविष्य में एचबीएस रिलीज में भी योजना बनाई गई है। यह कुछ हद तक उन्नत विश्लेषणात्मक प्रसंस्करण तब coprocessors सक्षम करेगा।

+0

आपके उत्तर के लिए धन्यवाद। यदि मैं विकल्प 2 के साथ जाता हूं, तो लॉन्च के साथ शामिल सभी लागतों पर जा रहा है और मैप/रेडक्यूड के लॉन्च से एम/आर चलाने के लिए शफलफुल और सॉर्ट और क्या नहीं है। यह वास्तविक समय कैसा हो सकता है? – iCode

+0

और अगर मुझे आज ऐसा करने की ज़रूरत है, तो क्या जवाब यह है कि अभी तक ऐसा करने का कोई व्यावहारिक तरीका नहीं है? जैसे 1 धीमा है, 3 और 4 भविष्य हैं और 2 iffy है? – iCode

+0

हां, मेरा जवाब है कि आज इसे रीयलटाइम करने का कोई तरीका नहीं है। जब अगली रिलीज (जिसे कॉप्रोसेसर रिलीज कहा जाता है) उपलब्ध होगा तो हमारे पास क्षेत्र स्तर पर वास्तविक समय समेकन होगा। –

5

तेजी से रैंडम रीड = एचबीएस में बैठे डेटा का प्रीपेरड डेटा! कि यह क्या है के लिए HBase उपयोग ...

1. एक जगह काफी मात्रा में डेटा स्टोर करने के लिए।
2. एक जगह जहां से आप सुपर फास्ट पढ़ सकते हैं।
3. एक जगह जहां एसक्यूएल आपको कोई अच्छा नहीं करेगा (जावा का उपयोग करें)।

यद्यपि आप एचबीएएस से डेटा पढ़ सकते हैं और अपने समेकित परिणाम को वापस करने से पहले जावा डेटा संरचनाओं में सभी प्रकार के योगों को सही कर सकते हैं, मैप्रिडस में गणना छोड़ने के लिए सबसे अच्छा है। आपके प्रश्नों से, ऐसा लगता है कि आप HBase में बैठने के लिए गणना के स्रोत स्रोत चाहते हैं। यदि ऐसा है, तो जिस मार्ग को आप लेना चाहते हैं, उसमें एचबीएएस को मैप्रिडस नौकरी के स्रोत डेटा के रूप में होना चाहिए। उस पर गणना करें और समेकित डेटा वापस करें। लेकिन फिर फिर, आप मैप्रिडस नौकरी चलाने के लिए हबेस से क्यों पढ़ेंगे? बस एचडीएफएस/हाइव टेबल पर बैठे डेटा को छोड़ दें और उन पर मैप्रिडस जॉब्स चलाएं THEN डेटा को "प्री-रेडीड" में लोड करें ताकि आप सुपर फास्ट यादृच्छिक पढ़ सकें।

1

एक बार जब आपके पास एचबीज़ में पूर्ववर्ती डेटा हो, तो आप अपने एचबीएएस डेटा को और ड्रिल करने, टुकड़ा करने और पासा करने के लिए क्रूक्स http://github.com/sonalgoyal/crux का उपयोग कर सकते हैं। क्रूक्स उन्नत फिल्टर और समूह के साथ, समग्र और सरल कुंजी का समर्थन करता है।

संबंधित मुद्दे