hive3 不支持 hive on mr
时间: 2023-11-03 07:43:54 浏览: 239
从Hive 3.0版本开始,Hive不再支持Hive on MR(MapReduce)作为默认执行引擎。相反,它现在默认使用Tez作为执行引擎。这是因为MapReduce已经变得过时,而Tez提供了更好的性能和可伸缩性。但是,您仍然可以使用Hive on MR作为执行引擎,只需要将hive.execution.engine设置为mr即可。但是,建议使用Tez作为执行引擎以获得更好的性能和体验。
相关问题
hive on mr 参数配置
Hive on MapReduce是一种将Hadoop MapReduce框架用于处理大规模数据的模式,它利用Hive SQL查询语言来管理MapReduce任务。在配置Hive on MR时,有几个关键参数需要调整:
1. `hive.mapred.mode`: 设置为`mr`表示使用MapReduce作为执行引擎。默认值就是这个。
2. `mapreduce.job.reduces`: 它指定并行运行的Reducer数量。合理的设置取决于你的集群规模和任务复杂度。
3. `hive.exec.compress.output`: 如果设为`true`,则可以压缩输出的数据文件,减少存储空间。这通常会增加一些计算时间。
4. `hive.exec.parallel`: 控制是否允许同时执行多个Map或Reduce任务。启用它可以提高处理速度,但可能会消耗更多的资源。
5. `hive.exec.task.threads`: 指定每个Task(Mapper或Reducer)的最大并发线程数。
6. `hive.optimize.sort.dynamic.partition`: 若设置为`true`,Hive可以根据表分区动态地优化排序过程。
7. `hive.tez.container.size`: 当使用Tez作为执行引擎时(如Hive Tez),这是分配给单个container的内存大小。
调整这些参数时,要确保它们与你的硬件、数据量以及查询需求匹配,避免过多或过少导致性能问题或资源浪费。
.mr和hive on sprak的区别
mr和Hive on Spark都是用来处理大数据的工具,但它们之间存在一些明显的区别。MapReduce(MR)是由Google提出的一种分布式计算模型,它把大任务分解成许多小任务,由集群中的节点分别执行这些小任务,最后合并结果。而Hive on Spark是一种基于Apache Spark的Hive数据仓库。它利用Spark来提高Hive查询的执行速度,支持在线处理和批处理,可以更好地管理大量数据。
阅读全文