2012-08-16 14 views
8

पर HIVE निर्यात करें मेरे पास HIVE में कुछ डेटा है, और मैं इसे लिबर ऑफिस में देखना चाहता हूं।एक सीएसवी

मैं इस डेटा कैसे निर्यात और बाद में लिब्रे ऑफिस

पर आयात
+1

StackOverflow आपका स्वागत है! आपने अभी तक क्या प्रयास किया है और आप अपने वर्तमान दृष्टिकोण से क्या भिन्न हैं? – Olaf

+0

मैंने पर्ल स्क्रिप्ट बनाई: टेक्स्ट :: सीएसवी का उपयोग करें; मेरा $ सीएसवी = टेक्स्ट :: सीएसवी-> नया() या मर "सीएसवी का उपयोग नहीं कर सकता:" .Text :: CSV-> error_diag(); $ सीएसवी-> ईओएल ("\ r \ n"); जबकि (मेरी $ line = readline) { chomp $ line; मेरी @cols = विभाजन/\ x01 /, $ line; $ सीएसवी-> प्रिंट (* STDOUT, \ @cols); } – user1356713

उत्तर

0

आप निर्दिष्ट कर और कैसे हाइव SerDe तंत्र द्वारा अपने टेबल स्टोर करने के लिए अनुकूलित कर सकते हैं करते हैं। ओगोडनेक गीताहब पर उपयोगकर्ता, CSV SerDe कार्यान्वयन के लिए धन्यवाद।

यह एक प्रकार का अप्रचलित (हाइव 0.5) है लेकिन इसे आसानी से नए हाइव संस्करण में अपनाया जा सकता है। मुझे इसके साथ सफलता के लिए करना था - बस मेरे हाइव वितरण और संस्करण में बिल्ड कॉन्फ़िगरेशन को बदलना (मैंने कंकुनूर के पुल अनुरोध में मेवेन के लिए pom.xml का उपयोग किया) और CSVSerde.java में इन पंक्तियों को संतुष्ट करने के लिए नई एपीआई:

import org.apache.hadoop.hive.serde2.SerDeStats; 
.... 
.... 
@Override 
public SerDeStats getSerDeStats() { 
// no support for statistics 
return null; 
} 

तो फिर तुम सिर्फ hadoop dfs -get /table/or/partition/location /local/destination चला सकते हैं (या यहां तक ​​पाइप या एकल फाइल उत्पादन के साथ एक -बिल्ली का उपयोग करें) Hadoop से डेटा लोड करने के लिए - यह पहले से ही सीएसवी प्रारूप में हो जाएगा।

21

पर https://issues.apache.org/jira/browse/HIVE-1603 आधार पर:

$ hive 
hive> set hive.exec.compress.output=false; 
hive> create table csv_dump ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' as 
hive> select ...YOUR_SELECT_QUERY_HERE...; 
$ hadoop dfs -cat /user/hive/warehouse/csv_dump/* > ~/csv_dump.csv 
+1

अंतिम आदेश अब बहिष्कृत है। समतुल्य नया आदेश लगभग समान है - "हैडोप एफएस -कैट/उपयोगकर्ता/हाइव/वेयरहाउस/सीएसवी_डम्प/*> ~/csv_dump.csv"।मुख्य टेकवे यह है कि एचएसओपी नक्शा हाइव टेबल एफएस नेमस्पेस/उपयोगकर्ता/हाइव/गोदाम में। – sandeepkunkunuru

1

मैं ने वही समस्या थी और यह मैं इसे कैसे पता करने के लिए कर रहा था है।

चरण 1 - एक और तालिका में छत्ता तालिका से डेटा लोड TestHiveTableCSV मौजूद है, तो के रूप में

ड्रॉप टेबल इस प्रकार है; तालिका टेस्ट हाइटेबलटेबल वीवी फॉर्मेट लिमिटेड द्वारा निर्मित ',' द्वारा निर्धारित लाइनों '\ n' AS टेस्टहेवटेबल से कॉलम सूची चुनें;

चरण 2 - उपयुक्त एक्सटेंशन

साथ नए स्थान पर छत्ता गोदाम से ब्लॉब कॉपी किया गया

प्रारंभ-AzureStorageBlobCopy -DestContext $destContext -SrcContainer "स्रोत कंटेनर" -SrcBlob "hive/warehouse/TestHiveTableCSV/000000_0" -DestContainer "गंतव्य कंटेनर" ` - DestBlob "सीएसवी/TestHiveTable.csv"

उम्मीद है कि इससे मदद मिलती है!

शुभकामनाओं सहित, दत्तात्रेय Sindol (दत्ता) http://dattatreysindol.com

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