获得异常" java.lang.NoSuchFieldError:METASTORE_CLIENT_SOCKET_LIFETIME"或"必填字段' client_protocol'没有设置!"

时间:2017-05-24 07:11:07

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

我正在使用Spark 2.1的结构化流媒体(内部使用Hive 1.2.1 jar)。我正在尝试为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

HiveContex初始化SparkSession t时即将到来。

1 个答案:

答案 0 :(得分:-1)

我遇到了同样的问题,发现HIVE-9508。我建议您将配置单元升级到1.2.1或更高版本。