首页 > 解决方案 > Py4JJavaError:使用 PySpark 从 SQL Server 加载数据库

问题描述

我正在尝试使用 PySpark 连接和读取两个 SQL Server 数据库,每个数据库都有不同的服务器名称和端口号。我尝试了很多解决方案,但两个数据库都出现了相同的错误。

我的两台服务器的代码具有不同的主机名、数据库名、端口号、用户名和密码:

jdbcHostname = "XXXXXXXXX"
jdbcDatabase = "XXXX"
jdbcPort = "XXXX"
username = "XXXXXX"
password = "XXXXXXXXXX"
jdbcUrl = "jdbc:sqlserver://{0}:{1};database={2}".format(jdbcHostname, jdbcPort, jdbcDatabase)
connection_details = {
   "user" : username,
   "password" : password,
   "driver" : "com.microsoft.sqlserver.jdbc.SQLServerDriver"
 }
query = """(Select * from [jdbcDatabase].[schema].[tablename])"""
df = spark.read.jdbc(url=jdbcUrl, table=query, properties=connection_details)

我得到的错误如下: 在此处输入图像描述

在此处输入图像描述

它要求我验证连接属性。

请注意,我能够使用脚本所在的同一设备通过 Microsoft SQL Server Management Studio 成功运行 SQL 查询。

有什么帮助吗?

标签: sql-serverpysparkapache-spark-sqlpymssql

解决方案


推荐阅读