0

ハイブ コマンド プロンプトで次のプロパティを設定して、ハイブ テーブルを作成しました。

SET mapreduce.output.fileoutputformat.compress.codec=com.hadoop.compression.lzo.LzopCodec
SET hive.exec.compress.output=true
SET mapreduce.output.fileoutputformat.compress=true

テーブル ステートメントを作成します。

create external table dept_comp1(id bigint,code string,name string)  LOCATION '/users/JOBDATA/comp'  ;
insert overwrite table dept_comp select * from src__1;

ここで、この場所 /users/JOBDATA/comp に移動し、000000_0.deflate という名前のファイルを見つけます

これが圧縮ファイルかどうかはわかりませんが、ダウンロードすると読み取れません。もしそうなら、なぜ .lzo 拡張子がないのですか?

そうでない場合、.lzo ファイルはどこにありますか?

最後に、Javaを使用して解凍するにはどうすればよいですか? ありがとう

4

1 に答える 1

-4

hdfs のディスク容量を節約したい場合は、Snappycodec 圧縮を使用できます。分割可能で、次のような特定のハイブプロパティを設定することにより、.bz のような圧縮形式がいくつかあります。

SET hive.exec.compress.output=true;
SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;
SET mapred.output.compression.type=BLOCK; 
于 2016-05-18T06:31:13.837 に答える