0

我正在使用 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

4

1 回答 1

0

Cloudera 在此处列出了不支持的功能:

https://docs.cloudera.com/runtime/7.2.6/spark-overview/topics/spark-unsupported-features.html

不支持 Thrift 服务器。

这是 7.2.6 列表的副本:

  • 除非另有说明,否则不支持 Apache Spark 实验性功能/API。
  • 不支持使用 JDBC 数据源 API 访问 Hive 或 Impala
  • 所有 Spark 组件都不支持 ADLS。Microsoft Azure Data Lake Store (ADLS) 是一个基于云的文件系统,您可以通过 Spark 应用程序访问它。ADLS 数据目前不支持使用 Kudu 的 Spark。(Hive on Spark 可用于 ADLS。)
  • 不支持 IPython / Jupyter 笔记本。不支持 IPython 笔记本系统(从 IPython 4.0 起重命名为 Jupyter)。
  • 不支持某些 Spark Streaming 功能,例如 mapWithState 方法。
  • 不支持 Thrift JDBC/ODBC 服务器
  • 不支持 Spark SQL CLI
  • 不支持 GraphX
  • 不支持 SparkR
  • 支持结构化流,但不支持以下功能:
  • 不支持仍处于试验阶段的连续处理。
  • 与 HBase 的流静态连接尚未经过测试,因此不受支持。
  • 不支持 Spark 基于成本的优化器 (CBO)。
于 2021-02-13T18:55:43.663 回答