8.6 存储和压缩的结合

8.6.1 修改 Hadoop 支持 Snappy 压缩方式

具体参照前面的 Hadoop 源码编译 不要忘记 Hadoop 需要分发到整个集群

检测是否支持 Snappy 压缩方式.

hadoop checknative

步骤1: 创建一个非压缩的 ORC 格式的表

create table log_orc_none(
    track_time string,
    url string,
    session_id string,
    referer string,
    ip string,
    end_user_id string,
    city_id string
)
row format delimited 
fields terminated by '\t'
stored as orc 
tblproperties ("orc.compress"="NONE");

向表中插入数据:

insert into table log_orc_none select * from log_text;

注意:

  • 不压缩的情况下orc文件有 7.7M, 但是前面测试的是2.8M左右, 为什么呢?

  • 因为对于 orc文件, 如果没有指定不压缩, 则默认使用的是 ZLIB 压缩方式压缩的.

步骤2: 创建一个使用 Snappy 压缩的 ORC 格式的表

create table log_orc_snappy(
    track_time string,
    url string,
    session_id string,
    referer string,
    ip string,
    end_user_id string,
    city_id string
)
row format delimited 
fields terminated by '\t'
stored as orc 
tblproperties ("orc.compress"="SNAPPY");

导入数据:

insert into table log_orc_snappy select * from log_text ;

总结:

在实际的项目开发当中,Hive表的数据存储格式一般选择:orc 或 parquet。压缩方式一般选择 Snappy,lzo。

Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-11-20 18:14:22

results matching ""

    No results matching ""