我正在使用 CDH5.4.2 的 spark(standalone)
复制hive-site.xml
到后$SPARK_HOME/conf
,我可以从 hive 中查询spark-shell
,如下所示:
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 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
?