【问题标题】:CDH5.4.2 spark can use HiveContent in spark-shell but can't open spark-sqlCDH5.4.2 spark 可以在 spark-shell 中使用 HiveContent 但无法打开 spark-sql
【发布时间】: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-shellspark-sql 有什么不同?如果 cdh 的 spark 不支持 hive,为什么我可以使用HiveConext

【问题讨论】:

  • 您认为spark-sql 命令到底应该做什么?!?
  • 剧透:Cloudera 明确声明 CDH 不支持 Spark JDBC Thrift 服务器,因此您无法启动它也就不足为奇了。
  • 非常感谢,我会仔细阅读官方文档的。

标签: apache-spark cloudera-cdh hivecontext


【解决方案1】:

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)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 2021-11-21
    相关资源
    最近更新 更多