Hadoop大数据技术-Impala 与 Hive 的分析比较

Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着Impala元数据都存储在Hive的meta store中,并且Impala兼容Hive的SQL解析,实现了Hive的SQL语义的子集,功能还在不断的完善中。

Impala 与 Hive 的比较

Impala 作为新一代开源大数据分析引擎,与现在比较流行的 Hive 相比,既有相同点,又有不同点,它们的区别与联系可以通过下图进行展现。

Hive 与 Impala 的不同点总结如下:

第一, Hive 比较适合进行长时间的批处理查询分析,而 Impala 适合进行实时交互式 SQL 查询。

第二, Hive 依赖于 MapReduce 计算框架,执行计划组合成管道型的 MapReduce 任务模式进行执行, 而 Impala 则把执行计划表现为一棵完整的执行计划树,可以更自然地分发执行计划到各个 Impalad 执行查询。

第三, Hive 在执行过程中,如果内存放不下所有数据,则会使用外存,以保证查询能顺序执行完成,而 Impala在遇到内存放不下数据时,不会利用外存,所以, Impala 目前处理查询时会受到一定的限制。

Hive 与 Impala 的相同点总结如下:

第一, Hive 与 Impala 使用相同的存储数据池, 都支持把数据存储于 HDFS 和 HBase 中,其中, HDFS 支持存储 TEXT、 RCFILE、 PARQUET、

AVRO、 ETC 等格式的数据, HBase 存储表中记录。

第二, Hive 与 Impala 使用相同的元数据。

第三, Hive 与 Impala 中对 SQL 的解释处理比较相似,都是通过词法分析生成执行计划。

总的来说, Impala 的目的不在于替换现有的 MapReduce 工具,把 Hive 与 Impala 配合使用效果最佳,可以先使用 Hive 进行数据转换处理,之后再使用 Impala 在 Hive 处理后的结果数据集上进行快速的数据分析。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月5日
下一篇 2020年4月5日

相关推荐