无法在 spark zeppelin 中加载 hivecontext

cannot load hivecontext in spark zeppelin

我已经安装了飞艇。一切正常,除非我尝试导入配置单元上下文。

我在 Zeppelin 上的配置:

System.getenv().get("MASTER")
System.getenv().get("SPARK_YARN_JAR")
System.getenv().get("HADOOP_CONF_DIR")
System.getenv().get("JAVA_HOME")
System.getenv().get("SPARK_HOME")
System.getenv().get("PYSPARK_PYTHON")
System.getenv().get("PYTHONPATH")
System.getenv().get("ZEPPELIN_JAVA_OPTS")

res0: String = yarn-client
res1: String = /home/centos/zeppelin-R-rscala/interpreter/spark/zeppelin-spark-0.6.0-incubating-SNAPSHOT.jar
res2: String = /etc/hadoop/conf
res3: String = /usr/jdk64/jdk1.8.0_60
res4: String = /usr/hdp/2.3.4.0-3485/spark
res5: String = null
res6: String = /usr/hdp/current/spark-client/python/lib/py4j-0.8.2.1-src.zip:/usr/hdp/current/spark-client/python/:
res7: String = -Dhdp.version=2.3.4.0-3485

我想做什么

%spark
val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)

我遇到的错误:

 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.ClientWrapper.<init>(ClientWrapper.scala:193)
    at org.apache.spark.sql.hive.HiveContext.executionHive$lzycompute(HiveContext.scala:164)
    at org.apache.spark.sql.hive.HiveContext.executionHive(HiveContext.scala:162)
    at org.apache.spark.sql.hive.HiveContext.functionRegistry$lzycompute(HiveContext.scala:415)

请注意,如果我直接从 shell 启动,一切正常。

谢谢

这可能意味着您将 Tez 作为 Hive 的执行引擎。您应该在用于 Spark 的 hive-site.xml 中更改 属性:

<property>
  <name>hive.execution.engine</name>
  <value>mr</value>
</property>

就我而言,我不得不通过 Ambari 更改它,但这取决于您的设置。