Hive
使用场景
- 批量数据:日志、历史数据、冷数据
- 非 OLTP 类,离线分析
数据源
- HDFS
- HBase
引擎
- Tez
- Spark
- MapReduce
Spark
Scala 语言提供的 Iterable 接口,定义了 filter, map, reduce 等方法;Spark 的 RDD 可以看做分布式系统中的 Iterable 实现。用户所需要考虑的是如何基于 Iterable 数据结构(List、Set、Map等 Collection)编写代码,无需关心底层数据分块,数据传输,分布式计算的细节。
使用场景
迭代计算、批处理、流计算、图计算、机器学习
HBase
使用场景
- 实时随机读/写
- 十亿行 x 百万列
- 底层存储:HDFS
不适合场景
- 聚合
- 连接
Cassandra
源自 Facebook “always on“ 的需求,CAP中重Availability和Partition Tolerance
Kylin
定期将 hive 表的查询结果保存在 hbase 中,按数据分析需求快速生成查询语句。
使用场景
数据分析