首页 > 解决方案 > Spark 到 JDBC:Py4JJavaError - 连接已启动,但没有一个提供者

问题描述

我正在解决通过 JDBC 连接使用 Kerberos 身份验证在 PySpark 中写入数据帧时收到的错误,该连接使用 keytab 和 principal 在数据库属性参数中。

连接是通过 JDBC 使用 Kerberos 凭据成功启动的,因为我没有收到告诉 GSS 启动失败的错误,但我得到:

Illegal Argument Exception: requirement failed: JDBC connection     initiated but not exactly one provider found which can handle it. Found        active providers:

我运行的代码是:

df_spark.write.jdbc(url=db_props[‘url’], table=‘schema.table’,   mode=‘overwrite’, properties=db_props)

仔细检查后,非法参数异常是 Py4JJavaError 源自 py4j 中的 java_gateway.py 模块。我找不到有关该错误的更多信息。感谢您的帮助,如果有人看到它或可以辨别正在发生的事情!

标签: apache-sparkjdbcdriver

解决方案


这是一个普遍的问题,所以这是一个普遍的答案:

请尝试学习一些东西,尝试一些东西,然后提出更具体的问题。


推荐阅读