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 中,按数据分析需求快速生成查询语句。

使用场景

数据分析