使用 pyspark 连接到 SQL 服务器时出错
Error in connecting with pyspark to SQL Server
我正在尝试使用 pyspark 从本地连接到 SQL 服务器。我已经下载了最后一个 driver version,但是当 运行 下面的代码显示此错误:
Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS12]"
代码如下(之前启动过Spark会话,驱动位于支持的路径):
jdbcDF = spark.read \
.format("jdbc") \
.option("url","jdbc:sqlserver://<host>\<port>;database=<database>;") \
.option("dbtable", <table>) \
.option("user", <username>) \
.option("password", <password>) \
.option("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver") \
.load()
我了解到一种可能的解决方案是更改 SQL 服务器的某些配置,但这对我来说是不可能的。有什么方法可以在不更改 SQL 服务器中的任何内容的情况下修复它吗?
我认为您的问题与 this one
类似
从上面link:
TLS10 在 Java 1.8 及更高版本中被禁用。您可以通过从 java.security
文件中的 jdk.tls.disabledAlgorithms
中删除 TLSv1
来启用它(此编辑是在您的客户端机器上完成的,而不是 SQL 服务器)。
这对我有效。
我正在尝试使用 pyspark 从本地连接到 SQL 服务器。我已经下载了最后一个 driver version,但是当 运行 下面的代码显示此错误:
Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS12]"
代码如下(之前启动过Spark会话,驱动位于支持的路径):
jdbcDF = spark.read \
.format("jdbc") \
.option("url","jdbc:sqlserver://<host>\<port>;database=<database>;") \
.option("dbtable", <table>) \
.option("user", <username>) \
.option("password", <password>) \
.option("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver") \
.load()
我了解到一种可能的解决方案是更改 SQL 服务器的某些配置,但这对我来说是不可能的。有什么方法可以在不更改 SQL 服务器中的任何内容的情况下修复它吗?
我认为您的问题与 this one
类似从上面link:
TLS10 在 Java 1.8 及更高版本中被禁用。您可以通过从 java.security
文件中的 jdk.tls.disabledAlgorithms
中删除 TLSv1
来启用它(此编辑是在您的客户端机器上完成的,而不是 SQL 服务器)。
这对我有效。