我正在使用CDH5.4.2的spark(独立版)
将hive-site.xml
复制到$SPARK_HOME/conf
后,我可以在spark-shell
中的hive中查询,如下所示:
阶> val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc); hiveContext:org.apache.spark.sql.hive.HiveContext = org.apache.spark.sql.hive.HiveContext@6c6f3a15 阶> hiveContext.sql(“show tables”)。show();
但是当我打开spark-sql
时,它显示错误:
java.lang.ClassNotFoundException:org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver 无法加载主类org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver。
您需要使用-Phive和-Phive-thriftserver构建Spark。
spark-shell
和spark-sql
之间有何不同?如果cdh的spark不支持hive,为什么我可以使用HiveConext
?
答案 0 :(得分:0)
Cloudera 在此处列出了不受支持的功能:
https://docs.cloudera.com/runtime/7.2.6/spark-overview/topics/spark-unsupported-features.html
不支持 Thrift 服务器。
这是 7.2.6 列表的副本: