hive表常用存储格式和压缩格式选择

综合考虑到压缩比、sql查询速率;

Hive的几种常见压缩格式(ORC,Parquet,Sequencefile,RCfile,Avro)的读写查询性能测试

生产环境中hive一般用orc,spark一般用parquet,snappy配合parquet性能最高。

压缩格式上:

对于量大但是不怎么计算的数据,一般用gzip(压缩比最高,压缩解压缩速度最慢)

对于量小但是经常需要计算的数据,一般用lzo或者snappy

stored as  parquet
tblproperties ("parquet.compression"="snappy");

1. hive表常用存储格式

对比较冷的数据不需要怎么运算的可以用高压缩比的gzip格式

都是列式存储格式:orc和parquet

ps:orc格式的表不能通过load data导入数据,需要先通过load data inpath "path" into table textfile_table;

       然后通过insert into table orc_table select * from textfile_table; 来导入数据

row format delimited fields terminated by '\t'
stored as orc;

2. hive表常用压缩格式

snappy和lzo

row format delimited fields terminated by '\t'
stored as orc tblproperties("orc.compress"="SNAPPY");

ps:hive表HDFS数据灌入Druid的实践用法

由于数据进入Druid的时候,gz压缩效果最好,压缩数据可优化摄入job的map阶段读取速度,gz格式比lzo节省map阶段30%运行时间。

所以处理hive表的时候可以开启压缩:

1、为map中间输出启用压缩。

      一般对于中间输出压缩采用低压缩比,高压缩解压缩速度的压缩算法,如LZO,Snappy 

    set hive.exec.compress.intermediate=true;

    set mapred.map.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;

2、为最终输出结果启用压缩

      需要注意的是:有些压缩格式如gz是不支持切分的,这样后续mapre-reduce任务将不能并行处理。

      set hive.exec.compress.output=true;

      set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值