获取任何一个异常“ java.lang.NoSuchFieldError:METASTORE_CLIENT_SOCKET_LIFETIME”或“未设置必填字段'client_protocol'!”

Aji*_*gre 6 java hive jdbc apache-spark 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!
Run Code Online (Sandbox Code Playgroud)

如果我使用版本1.1.0的Hive jdbc jar,则在Spark中出现异常,如下所示:

Caused by: java.lang.NoSuchFieldError: METASTORE_CLIENT_SOCKET_LIFETIME
Run Code Online (Sandbox Code Playgroud)

在初始化HiveContext in时它来了SparkSession

小智 0

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