impala 0

在写impala的技术文档前,先做一下工作的整理。

架构是  日志收集到kafka ,经过清洗后存放到kudu中,然后定时去做mapreduce 任务,将kudu中的老表的数据分配到hdfs 中。

其中 hdfs 是用hive来管理, 文件格式是parquet格式(列式存储)。 通过impala 去查询parquet格式文件和kudu表,做一个union all的聚合。

因此在这里我用到了impala 。就简单的对impala做一个介绍和输出。

 

impala 是Apache 的顶级项目,http://impala.apache.org/

是cloudera 开源, 通过对各节点的hdfs文件 的直接查询,能够获得很好的一个查询效果。测试过, impala>presto >sparksql>hive

当然列式存储是有一定的io优势的。 parquet 格式,列式存储,每一列的数据类型固定,能够获得一个更好的编码效果。

列式存储的 格式是

header + broker*n +footer 

其中header 中是有文件格式的类型。像parquet就是par1

borker 就是数据, 其中 一个broker 其实可以认为是一个row group 的数据

row group 数据下面是多个column chunk的数据,每个column chunk文件下面又是多个page ,每个column chunk 是一列数据,page 是压缩和编码单元。 footer 里面就有很多的元数据信息和broker的一些索引的信息。

具体的一些测试方面的可以看  http://blog.51cto.com/11964104/2071800

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值