【发布时间】:2021-02-14 02:55:43
【问题描述】:
我正在使用 CDH5.4.2 的 spark(standalone)
将hive-site.xml复制到$SPARK_HOME/conf后,可以在spark-shell的hive中查询,如下:
scala> val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc); hiveContext:org.apache.spark.sql.hive.HiveContext = org.apache.spark.sql.hive.HiveContext@6c6f3a15 scala> hiveContext.sql("显示表").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?
【问题讨论】:
-
您认为
spark-sql命令到底应该做什么?!? -
剧透:Cloudera 明确声明 CDH 不支持 Spark JDBC Thrift 服务器,因此您无法启动它也就不足为奇了。
-
非常感谢,我会仔细阅读官方文档的。
标签: apache-spark cloudera-cdh hivecontext