2011-01-28 14 views
6

में सम्मिलित करें अधिलेखित चयन के लिए संपीड़न कोडेक निर्दिष्ट मैंहाइव

CREATE TABLE beacons 
(
    foo string, 
    bar string, 
    foonotbar string 
) 
COMMENT "Digest of daily beacons, by day" 
PARTITIONED BY (day string COMMENt "In YYYY-MM-DD format"); 

की तरह एक छत्ता तालिका भर दें, मैं की तरह कुछ कर रहा हूँ:

SET hive.exec.compress.output=True; 
SET io.seqfile.compression.type=BLOCK; 

INSERT OVERWRITE TABLE beacons PARTITION (day = "2011-01-26") SELECT 
    someFunc(query, "foo") as foo, 
    someFunc(query, "bar") as bar, 
    otherFunc(query, "foo||bar") as foonotbar 
    ) 
    FROM raw_logs 
WHERE day = "2011-01-26"; 

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

दुर्भाग्य से मैं वास्तव में लगता है कि पूरा करने के लिए कैसे नहीं हूँ, लेकिन मुझे लगता है कि यह कई क्रम सेटिंग्स में से एक या शायद सिर्फ CREATE TABLE DDL की एक और पंक्ति है।

उत्तर

13

निम्नलिखित क्रम विन्यास मूल्यों के साथ सम्मिलित करें अधिलेखित आगे जोड़ते से पहले:

io.compression.codecs 

io.seqfile.compression बारे में अधिक जानकारी:

SET hive.exec.compress.output=true; 
SET io.seqfile.compression.type=BLOCK; 
SET mapred.output.compression.codec = com.hadoop.compression.lzo.LzopCodec; 

भी जाँच करके सुनिश्चित करें कि आप इच्छित संपीड़न कोडेक बनाने .type यहां पाया जा सकता http://wiki.apache.org/hadoop/Hive/CompressedStorage

मैं शायद गलती है, लेकिन यह ब्लॉक प्रकार बड़ी फ़ाइलों सुनिश्चित करेगी तरह लग रहा था एक उच्च अनुपात बनाम संपीड़ित कम संपीड़ित फ़ाइलों का एक छोटा सेट।

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