2012-04-05 16 views
24

में स्कैन से आउटपुट प्राप्त करें क्या कोई तरीका है कि मैं किसी फ़ाइल में hbase shell में स्कैन से परिणाम आउटपुट कर सकता हूं? मुझे लगता है कि यह आसान है लेकिन मैं प्रलेखन में कुछ भी नहीं ढूंढ पा रहा हूं।hbase shell

उत्तर

41

मुझे पता है कि यह पोस्ट काफी पुराना है लेकिन मैं खुद ही एचबीएस के बारे में कुछ खोज रहा था और इसके साथ आया था।

अच्छी तरह से मुझे नहीं पता कि यह करने का यह सबसे अच्छा तरीका है, लेकिन आप निश्चित रूप से स्क्रिप्टिंग विकल्प एचबीएएस का उपयोग कर सकते हैं। बस एक खोल खोलने (अधिमानतः HBase की निर्देशिका बिन करने के लिए जाना) और

echo "scan 'foo'" | ./hbase shell > myText 

जहां foo तालिका आप स्कैन करना चाहते हैं उसका नाम है चलाते हैं। यदि आप मेरा टेक्स्ट खोलते हैं तो आप वहां परिणाम देखेंगे। उम्मीद है कि मैंने मदद की!

+0

एक आकर्षण की तरह काम किया :) –

+1

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

+0

@ केनविल्लियम्स भी यह धीमा है। क्या आपको पता है कि कोई रास्ता तेज तरीका है। असल में मुझे 24 बार लूप में कमांड निष्पादित करना होगा और इसमें काफी समय लग रहा है और मैं ऐसा करने के लिए जावा कोड नहीं लिखना चाहता हूं। – sahu

8

यहां डॉक एक EOF का उपयोग कर एक और विकल्प, संभवतः अधिक अनुकूलन:

तार
hbase shell <<EOF >myText 
scan 'foo' 
EOF 
3

तुम भी उपयोग कर सकते हैं भी (अपने खोल उन्हें समर्थन करता है):

$ hbase shell <<< "scan 'sometable'" > myoutput.txt 

से ऊपर मैं कर रहा हूँ उदाहरण के लिए, लिनक्स सिस्टम पर बैश में यह।