【问题标题】:Getting either exception "java.lang.NoSuchFieldError: METASTORE_CLIENT_SOCKET_LIFETIME" or "Required field 'client_protocol' is unset!"获取异常“java.lang.NoSuchFieldError:METASTORE_CLIENT_SOCKET_LIFETIME”或“必填字段'client_protocol'未设置!”
【发布时间】:2017-10-24 09:13:35
【问题描述】:

我正在使用 Spark 2.1 的结构化流式处理(内部使用 Hive 1.2.1 jars)。我正在尝试为 Hive 开发 ForEachWriter,以通过 JDBC 连接器将流数据写入 Hive。

在我的集群上,我有 Hive 1.1.0。

如果我使用版本 1.2.1 的 Hive jdbc jar,那么由于 Hive 的客户端和服务器版本不匹配,我会遇到异常:

Required field 'client_protocol' is unset!

如果我使用 1.1.0 版的 Hive jdbc jar,那么我在 Spark 中会遇到如下异常:

Caused by: java.lang.NoSuchFieldError: METASTORE_CLIENT_SOCKET_LIFETIME

SparkSession 中初始化 HiveContext 时出现。

【问题讨论】:

    标签: java apache-spark jdbc hive spark-structured-streaming


    【解决方案1】:

    我遇到了同样的问题并找到了HIVE-9508。我建议你将 hive 升级到 1.2.1 或更高版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-30
      • 2020-06-12
      • 2016-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-08
      • 1970-01-01
      相关资源
      最近更新 更多