hbase

2012-09-12 15 views
6

में कॉलम परिवार में कॉलम जोड़ने का तरीका मैं hbase के लिए नया हूं। क्या आप मुझे कॉलम परिवार में कॉलम जोड़ने का तरीका दिखा सकते हैं। मेरे पास इस तरह का डेटा है:hbase

{ 
name: abc 
addres: xyz 
} 

मेरे पास स्तंभ परिवार व्यक्ति के साथ एक टेबल टेस्ट है। मैं इस व्यक्ति को कॉलम के रूप में नाम और पता कैसे जोड़ सकता हूं। कृपया मुझे hbase कमांड लाइन के साथ ही जावा में दिखाएं।

उत्तर

14

HBase कवच:

HBase खोल विकि से: http://wiki.apache.org/hadoop/Hbase/Shell

निर्दिष्ट तालिका/पंक्ति/स्तंभ और वैकल्पिक रूप से टाइमस्टैम्प निर्देशांक पर एक सेल 'मान' रखो। समय 'TS1' के साथ चिह्नित स्तंभ 'c1' के तहत पंक्ति 'r1' पर तालिका 't1' में एक सेल मूल्य में कहें, कार्य करें:

hbase> put 't1', 'r1', 'c1', 'value', ts1 

कुछ इस तरह आपके मामले में:

hbase> put 'test', 'yourRow', 'person:name', 'abc' 
hbase> put 'test', 'yourRow', 'person:address', 'xyz' 

जावा में:

Configuration config = HBaseConfiguration.create(); 
HTable table = new HTable(config, "test"); 

Put p = new Put(Bytes.toBytes("yourRow")); 
p.add(Bytes.toBytes("person"), Bytes.toBytes("name"), 
    Bytes.toBytes("abc")); 
table.put(p); 
+0

क्या आपको पता है कि हैब्स किसी भी अन्य नाम से अलग "व्यक्ति: नाम" चलाता है? दूसरे शब्दों में, क्या ":" में hbase में विशेष अर्थ है या यह पूरी तरह से एक स्ट्रिंग के रूप में चल रहा है? –

+0

मूल्य इस प्रारूप में होना आवश्यक है: ": "। आपके कॉलम परिवार में कॉलम का नाम है और कॉलम परिवार –

+0

है, मैं देख सकता हूं कि मेरे पास पहला परिवार कॉलम होना चाहिए, लेकिन अगर मैं कॉलम का दूसरा कॉलम "व्यक्ति: नाम: पहला नाम" जोड़ना चाहता हूं, तो करता है "नाम: पहला नाम" hbase में विशेष इलाज किया जा रहा है? –

6

जेपी बॉण्ड आप नमूना कोड की जरूरत दे दी है - मैं तो बस जोड़ने के लिए HBase के बारे में अच्छा चीजों में से एक यह है कि क्योंकि यह विरल (यानी के साथ पंक्तियों के लिए स्तंभ स्थान आरक्षित नहीं है चाहता था मूल्यों के बाहर)। इस डिजाइन निर्णय के लिए सुविधाओं में से एक यह है कि आप इसके लिए लिखकर एक नया कॉलम (कॉलम परिवार + क्वालीफायर) बना सकते हैं।

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