【问题标题】:Unable to write data on hive using spark无法使用 spark 在 hive 上写入数据
【发布时间】:2018-02-22 04:12:19
【问题描述】:

我正在使用 spark1.6。我正在使用 spark 上下文创建 hivecontext。当我将数据保存到配置单元时,它会出错。我正在使用cloudera vm。我的蜂巢位于 cloudera vm 内,并在我的系统上启动。我可以使用 IP 访问虚拟机。我已经在 vm 上启动了 thrift 服务器和 hiveserver2。我有 hive.metastore.uris 的用户 thrift 服务器 uri

 val hiveContext = new HiveContext(sc)
    hiveContext.setConf("hive.metastore.uris", "thrift://IP:9083")
............
............
 df.write.mode(SaveMode.Append).insertInto("test")

我收到以下错误:

FAILED: SemanticException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClien‌​t

【问题讨论】:

  • 和错误?
  • 失败:SemanticException java.lang.RuntimeException:无法实例化 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
  • 我是直接保存df。所以我应该在 spark 中定义 hive 的属性
  • 您可能需要定义scratch dir location
  • 我应该在哪里定义这个位置?

标签: apache-spark hive hivecontext


【解决方案1】:

可能在 spark conf 文件夹中,hive-site.xml 不可用,我在下面添加了详细信息。

在 spark 配置文件夹中添加 hive-site.xml。

在 hive 配置文件夹中创建一个指向 hive-site.xml 的符号链接。

sudo ln -s /usr/lib/hive/conf/hive-site.xml /usr/lib/spark/conf/hive-site.xml

完成上述步骤后,重新启动 spark-shell 应该会有所帮助。

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    相关资源
    最近更新 更多