2012-12-17 25 views
9

में सीएसवी डेटा लोड हो रहा है मैं हैडूप और हब्स के लिए बहुत नया हूं और कुछ वैचारिक प्रश्न हैं जो मुझे मिले हर ट्यूटोरियल के दौरान मुझे ट्राइप कर रहे हैं।एचएसएएस

मैंने अपने जीत 7 सिस्टम पर एक उबंटू वीएम के भीतर एक नोड पर चल रहा है और हबस चलाया है। मेरे पास एक सीएसवी फ़ाइल है जिसे मैं एक हीबेस टेबल में लोड करना चाहता हूं।

स्तंभ हैं: loan_number, borrower_name, current_distribution_date, loan_amount

मुझे पता है कि मैं HBase में यह कहा csv फ़ाइल लोड करने के लिए एक MapReduce काम लिखने के लिए की जरूरत है। निम्नलिखित ट्यूटोरियल जावा को इस MapReduce नौकरी लिखने के लिए आवश्यक वर्णन करता है। http://salsahpc.indiana.edu/ScienceCloud/hbase_hands_on_1.htm

क्या मैं याद कर रहा हूँ है:

मैं कहाँ इन फ़ाइलों को बचाने के लिए करते हैं और जहां मैं उन्हें संकलन करते हैं? क्या मुझे इसे अपनी जीत 7 मशीन चलने वाले दृश्य स्टूडियो 12 पर संकलित करना चाहिए और फिर इसे उबंटू वीएम में ले जाना चाहिए?

मैं इस तो सवाल और जवाब पढ़ा लेकिन मुझे लगता है कि मैं अभी भी मूल बातें याद कर रहा हूँ: Loading CSV File into Hbase table using MapReduce

मैं कुछ भी इन बुनियादी Hadoop/HBase रसद कवर नहीं मिल रहा। किसी भी तरह की सहायता का स्वागत किया जाएगा।

उत्तर

15

कोई HBase में थोक डेटा लोड करने के लिए एक MapReduce काम कोड करने के लिए की जरूरत है। वहाँ HBase में थोक डेटा लोड करने के लिए कई तरीके हैं:

1) थोक डेटा लोड करने के लिए importtsv और completebulkloadhttp://hbase.apache.org/book/arch.bulk.load.html

2 की तरह HBase उपकरणों का उपयोग करें) का प्रयोग करें सुअर। उदाहरण:

A = LOAD '/hbasetest.txt' USING PigStorage(',') as 
     (strdata:chararray, intdata:long); 
STORE A INTO 'hbase://mydata' 
     USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(
       'mycf:intdata'); 

3) प्रोग्रामिंग रूप से एचबीएएस एपीआई का उपयोग करके इसे करें। मुझे hbaseloader नामक एक छोटी परियोजना मिली है जो फ़ाइलों को एचबीज़ तालिका में लोड करता है (तालिका में फ़ाइल की सामग्री के साथ केवल एक कॉलमफैमिली है)। इसे देखें, आपको बस अपनी तालिका की संरचना को परिभाषित करने की आवश्यकता है और सीएसवी फ़ाइल पढ़ने और इसे पार्स करने के लिए कोड को संशोधित करने की आवश्यकता है।

4) यह आपके द्वारा उल्लिखित उदाहरण में मैपरेडस जॉब का प्रोग्रामेटिक रूप से उपयोग करें।

+0

धन्यवाद! मैं निश्चित रूप से उन विकल्पों का पता लगाने जा रहा हूँ। – bjoern

2
Where do I save these files and where do I compile them? Should I compile this on my win 7 machine running visual studio 12 and then move it to the ubuntu vm? 

आप नक्शा को कहीं भी कक्षाओं को कम कर सकते हैं (या तो विन 7 या उबंटू वीएम में)। आप इसे कहीं भी संकलित कर सकते हैं। बस आपके द्वारा बनाई गई कक्षाओं के साथ एक जार फ़ाइल बनाएं और आप अपने वीएम में नक्शा चलाने के लिए जार को कम करें।

फिर हडोप शुरू करने के बाद अपने उबंटू वीएम में आप मानचित्र को बनाए गए वर्ग को कम करने के लिए निम्न आदेश का उपयोग कर सकते हैं।

<Path To Hadoop Bin>/hadoop jar <Path to Jar>/<Jar Name>.jar <Map Reduce Class Name> <Class Arguments> ... 

आप उपरोक्त आदेश मानचित्र को कम वर्ग आप ने लिखा HBase तालिका के साथ निष्पादित किया जाएगा से भरी हुई होगी चलाते हैं।

आशा इस मदद करता है