获取异常"java.lang.NoSuchFieldError: METASTORE_CLIENT_SOCKET_LIFETIME" 或 "必需的字段'client_protocol'未设置!"

7

我正在使用Spark 2.1的Structured Streaming(内部使用Hive 1.2.1 jars)。我尝试为Hive开发ForEachWriter,通过JDBC连接器将流数据写入Hive。

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

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

Required field 'client_protocol' is unset!

如果我使用 Hive jdbc 版本为 1.1.0,那么在 Spark 中会出现以下异常:

Caused by: java.lang.NoSuchFieldError: METASTORE_CLIENT_SOCKET_LIFETIME

在初始化SparkSession中的HiveContext时,出现了问题。
1个回答

0

我曾经遇到过同样的问题,并找到了HIVE-9508。我建议您将Hive升级到1.2.1或更高版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接