文档介绍:用户行为分析大数据平台的选型
使用AVRO序列化数据
Hadoop的子项目
基于二进制传输
高性能中间件
支持数据密集型应用
依赖模式实现数据结构定义
支持二进制编码和JSON编码
支持压缩功能
支持数据排序功能
序列化时速度快且结果内容少
AVRO特点
使用Parquet列式存储
Parquet是面向分析型业务的列式存储
格式,由Twitter和Cloudera合作开发,
2015年5月升级为Apache顶级项目。
Parquet列式存储特点
可以跳过不符合条件的数据,只读取需要的数据,降低I/O吞吐量
压缩编码可以降低磁盘存储空间
支持向量运算,能够获取更好的扫描性能
查询性能提升30倍,存储空间节约75%
列式存储 VS 行式存储
传统的RDBMS提供ACID原子操作和事务, 在大多数列式存储数据库上是不具备的,而大多数列式存储数据库对分布式架构支持的更好。
需要了解的是列式存储以及行式存储在查询和存储上的本质,在技术选型上可以多点筹码。
使用 Apache Sqoop
ETL转换工具
RDBMS <=> HDFS
对某些NoSQL数据库亦提供支持
使用Apache Kafka
Kafka是一种高吞吐量分布式发布订阅消息系统,它可以处理消费级规模网站中的所有动作流数据。
实时数据流(real-time data streaming)
水平可扩展(horizontally scalable)
容错机制(fault tolerance)
支持分区(partition)
出奇的快(wicked fast)
Kafka特点
使用Apache Spark
高性能,执行速度100倍于Hadoop
支持Java、Scala、Python、R语言
支持SQL、机器学习、图运算、流
支持Hadoop、CAssandra、HBase
支持独立部署运行