大数据SQL执行工具调研总结


下面是这几天来我对于hive on mr/hive on spark /impala / presto/ spark-sql 做的调研之后做的总结,见以下矩阵:

武器库

优点

缺点

Hive Sql支持度

UDF支持

hive on mr

~

全部

支持

hive on spark

~

较慢

全部

支持

impala

对于大表需事先对表COMPUTE

对于多count(distinct)语句需要改写

支持

presto

数据量小的表可以秒查

对于数据量大的表基本上跑不了

支持主流Hive Sql

不支持

spark-sql

较快

可能会不稳定

全部

支持

 

 

其他总结:
1.presto在执行执行简单sql、无关联表、表不是很大的情况下有秒查优势;
  目前看来若要处理实时统计任务/在线查询采用presto是比较合适的;
  在有多个大表关联的sql中不建议采用presto执行。

2.impala不可以在一条语句中执行 count distinct,如需要务必将其拆开成多条语句;
  impala在并行执行多条sql的时候延迟会大;
  impala处理连续任务或者大表任务依旧是我们现在采用的impala比较合适;

3.hive/hive on spark/spark sql 批量查询;
   hive/hive on spark 使用方便;
   spark sql 可以继续调优参数,而hive on spark的参数设置没有前者灵活 。


你可能感兴趣的:(分布式计算,自己总结心得)