我正在使用 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
它在初始化t in时到来SparkSession
。