sql-server - 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 查询。
有什么帮助吗?
解决方案
推荐阅读
- camera - 查找世界空间图像平面坐标
- javascript - 将参数从 Node.JS 传递到 HTML 文件
- javascript - 为 Express 设置多个视图文件夹不起作用
- eclipse - Resource Path Location failed find jar 缓存在本地 repo 中,直到更新间隔过去或结束后才会重新尝试解析
- node.js - 节点安装有时有@,但并不总是
- docker - Docker 的 PGAdmin4 不显示查询结果
- python - 我在熊猫中有一个文本列,我有一个包含一些单词的列表。我需要将每行中的文本与列表中的单词匹配并保留它们
- prolog - 带变量的 Prolog DCG
- python - 将 json 数据保存到 Django 模型
- visual-studio - 如何使用具有相对路径的 XCOPY Visual Studio Post Build 命令