我需要使用块压缩数据启用序列文件。下面是将存储为 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;
所以我的问题是我只需要使用序列文件启用块压缩吗?或者我还有什么需要做的吗?我正在关注这篇文章Hadoop
任何建议将不胜感激。
更新:-
我通过将所有内容放入 a并从 shell 命令提示符.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.