一、Hive引擎包括:默认MR、tez、spark
在低版本的hive中,只有两种计算引擎mr, tez
在高版本的hive中,有三种计算引擎mr, spark, tez
二、Hive on Spark和Spark on Hive的区别
Hive on Spark:Hive既存储元数据又负责SQL的解析,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。
Spark on Hive : Hive只存储元数据,Spark负责SQL解析,语法是Spark SQL语法,Spark负责采用RDD执行。
注意:目前官网的Hive3.1.2和Spark3.0.0默认是不兼容的。因为Hive3.1.2支持的Spark版本是2.4.5,所以除了spark-3.0.0-bin-hadoop3.2.tgz安装包外,还需要纯净版jar包spark-3.0.0-bin-without-hadoop.tgz
jar包链接: https://pan.baidu.com/s/17P9aMotyvbBk5IR5Fw56lg 提取码: e997
三、三种引擎如何切换(计算引擎一般为mr或者spark)
1、配置mapreduce计算引擎
set hive.execution.engine=mr;
2、配置tez计算引擎
set hive.execution.engine=tez;
3、配置spark计算引擎(切换spark引擎时,服务器要安装好spark,并且hive与spark的版本要配套)
set hive.execution.engine=spark;
四、查看目前hive使用的计算引擎

文章介绍了Hive的不同计算引擎,包括MR、Tez和Spark,并详细阐述了Hive-on-Spark与Spark-on-Hive的区别。在Hive3.1.2和Spark3.0.0的兼容性问题上,提到了需要特定版本的Sparkjar包。文章还提供了详细的步骤来配置Hive使用Spark作为计算引擎,包括创建配置文件、上传Sparkjar包到HDFS等,并通过一个测试展示了Spark引擎相对于MR的性能优势。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



