ブロック圧縮データを含むシーケンス ファイルを有効にする必要があります。以下は、SequenceFile として保存されるテーブルです。
create table lip_data_quality
( buyer_id bigint,
total_chkout bigint,
total_errpds bigint
)
partitioned by (dt string)
row format delimited fields terminated by '\t'
stored as sequencefile
location '/apps/hdmi-technology/b_apdpds/lip-data-quality'
;
上記の表では、これらのコマンドを有効にすることで、このような圧縮形式でデータを取得しています。
set mapred.output.compress=true;
set mapred.output.compression.type=BLOCK;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.LzoCodec;
私の質問は、Sequence File で BLOCK Compression を有効にするために必要なのはそれだけですか? または、他に何かする必要がありますか?私はこの記事Hadoopをフォローしていました
任意の提案をいただければ幸いです。
アップデート:-
すべてを a に入れ、シェルコマンドプロンプトから.hql file
実行することで、上記の表のデータをこのようにロードしています。hql file
また、以下の hql ファイルの実行中に毎回パーティションの日付を変更します。
set mapred.output.compress=true;
set mapred.output.compression.type=BLOCK;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.LzoCodec;
insert overwrite table lip_data_quality partition (dt='20120712')
SELECT query here which will give the output for the above table.