tez上的Hive在spark 2中不起作用

j8yoct9x  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(430)

在使用hdp2.5和spark1.6.2的时候,我们使用了hive和tez作为它的执行引擎。
但是当我们使用spark2.1.0迁移到hdp2.6时,hive没有使用tez作为它的执行引擎,当 DataFrame.saveAsTable api被调用: java.lang.NoClassDefFoundError: org/apache/tez/dag/api/SessionNotRunning at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:529) at org.apache.spark.sql.hive.client.HiveClientImpl.<init> HiveClientImpl.scala:188) 在查看了这个问题的答案之后,我们将hive执行引擎切换到mr(mapreduce)而不是tez,它成功了。
不过,我们还是想和Hive合作。为了让hive on tez正常工作,需要什么来解决上述异常?

9q78igpj

9q78igpj1#

当spark作业在yarn cluster模式下运行时,我遇到了相同的问题,当正确的hive-site.xml添加到(add to spark default configuration)“spark.yarn.dist.files”时,问题得到了解决
基本上有两个不同的hive-site.xml文件,一个用于配置单元配置:/usr/hdp/current/hive-client/conf/hive-site.xml,另一个是spark的较轻版本(仅提供spark与配置单元一起使用的详细信息):/etc/spark//0/hive-site.xml(请检查一次安装路径)
我们需要为spark.yarn.dist.files使用第二个文件。

相关问题