赞
踩
Hive 的执行引擎包括以下几种:
Hive on MapReduce
Hive 最早使用的执行引擎是基于 Hadoop MapReduce 的。它将 Hive 查询转化为一系列的 MapReduce 任务进行并行执行。MapReduce 引擎适用于处理大规模数据集,具有良好的容错性和扩展性,但由于磁盘读写和中间结果的持久化,可能在性能和响应时间方面受到影响。
Hive on Tez
Hive 可以使用 Apache Tez 作为执行引擎来加速查询处理。Tez 是一个用于高效执行大规模数据处理任务的执行框架,它源于MapReduce 架构,核心思想是将Map和Reduce两个操作进一步拆分。它可以将查询的逻辑执行计划转化为一系列的任务图,并使用优化的调度和执行策略进行并行执行。Hive on Tez 可以提供更低的查询延迟和更高的吞吐量,提升查询性能和用户体验。
Hive on Spark
Hive 还可以使用 Apache Spark 作为执行引擎来处理查询。通过在 Spark 上执行 Hive 查询,可以充分利用 Spark 的内存计算和并行处理能力,加快查询速度和提高系统的整体性能。Hive on Spark 提供更高的性能和更强大的功能,并与 Spark 的其他组件集成,支持更多的数据处理场景。
1、Hive on MapReduce
优点:
缺点:
2、Hive on Tez:
优点:
缺点:
3、Hive on Spark:
优点:
缺点:
1)、配置mapreduce计算引擎
set hive.execution.engine=mr;
2)、配置tez计算引擎
set hive.execution.engine=tez;
3)、配置spark计算引擎
set hive.execution.engine=spark;
4、hive on spark配置集群模式
set hive.execution.engine=spark;
set spark.master=yarn-cluster;
set mapreduce.job.queuename=xxx;
选择适合的执行引擎需要根据具体的需求和场景来评估和决策。根据数据规模、查询类型和性能要求等因素进行权衡,选择合适的执行引擎可以提升查询效率和系统性能。
参考文章:
hhttps://zhuanlan.zhihu.com/p/426086549
https://www.jianshu.com/p/357fceaa4042
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。