2013-11-15 54 views
1

嘗試使用CDH4羣集上的Presto讀取活潑的壓縮表。 Hive可以讀取表格,但Presto抱怨缺少本地庫。Presto支持快速壓縮的RC文件嗎?

從CDH添加java.library.path似乎沒有幫助。 (加入到jvm.config)

-Djava.library.path=/opt/cloudera/parcels/CDH-4.4.0-1.cdh4.4.0.p0.39/lib/hadoop/lib/native 

這裏是堆棧跟蹤

Caused by: java.lang.RuntimeException: native snappy library not available: SnappyCompressor has not been loaded. 
at org.apache.hadoop.io.compress.SnappyCodec.checkNativeCodeLoaded(SnappyCodec.java:68) ~[na:na] 
at org.apache.hadoop.io.compress.SnappyCodec.createDecompressor(SnappyCodec.java:196) ~[na:na] 
at org.apache.hadoop.hive.ql.io.CodecPool.getDecompressor(CodecPool.java:35) ~[na:na] 
at org.apache.hadoop.hive.ql.io.RCFile$Reader.init(RCFile.java:1314) ~[na:na] 
at org.apache.hadoop.hive.ql.io.RCFile$Reader.<init>(RCFile.java:1154) ~[na:na] 
at org.apache.hadoop.hive.ql.io.RCFile$Reader.<init>(RCFile.java:1133) ~[na:na] 
at org.apache.hadoop.hive.ql.io.RCFileRecordReader.<init>(RCFileRecordReader.java:102) ~[na:na] 
at org.apache.hadoop.hive.ql.io.RCFileInputFormat.getRecordReader(RCFileInputFormat.java:57) ~[na:na] 
at com.facebook.presto.hive.HiveRecordSet$1.call(HiveRecordSet.java:185) ~[na:na] 
    ... 

圖書館目錄

ls -l /opt/cloudera/parcels/CDH-4.4.0-1.cdh4.4.0.p0.39/lib/hadoop/lib/native 
total 564 
-rwxr-xr-x 1 root root 133184 Sep 6 00:12 libhadoop.a 
-rwxr-xr-x 1 root root 193020 Sep 6 00:12 libhadooppipes.a 
lrwxrwxrwx 1 root root  18 Sep 6 08:26 libhadoop.so -> libhadoop.so.1.0.0 
-rwxr-xr-x 1 root root 81680 Sep 6 00:12 libhadoop.so.1.0.0 
-rwxr-xr-x 1 root root 58600 Sep 6 00:12 libhadooputils.a 
-rwxr-xr-x 1 root root 77476 Sep 6 00:12 libhdfs.a 
lrwxrwxrwx 1 root root  18 Sep 6 08:26 libsnappy.so -> libsnappy.so.1.1.3 
lrwxrwxrwx 1 root root  18 Sep 6 08:26 libsnappy.so.1 -> libsnappy.so.1.1.3 
-rwxr-xr-x 1 root root 23904 Sep 6 00:12 libsnappy.so.1.1.3 

回答

2

的Presto 0.54支持的Snappy壓縮。

+0

謝謝,期待。你在Facebook上使用任何壓縮? –

+0

在我們的數據倉庫中有超過300 PB,您可以確定我們正在使用壓縮:)我們的大部分數據當前都是使用RCFile和deflate(zlib)存儲的,我們正在轉向使用zlib的ORCFile。 –

+0

我更新了答案,以反映Snappy壓縮現在支持Presto 0.54。 –