我必须将 databricks 中的表与 SQL Server 中的同一表进行比较,并且只将丢失的记录填充到 databricks 中。有人可以帮助我如何使用 databricks 连接到 SQL Server,如何以及在何处编写将填充缺失数据的查询。
谢谢!
我必须将 databricks 中的表与 SQL Server 中的同一表进行比较,并且只将丢失的记录填充到 databricks 中。有人可以帮助我如何使用 databricks 连接到 SQL Server,如何以及在何处编写将填充缺失数据的查询。
谢谢!
您可以仅使用 Spark 支持的标准 JDBC 接口连接到 SQL 服务器——databricks 运行时应该包含开箱即用的 MS SQL 驱动程序。读取数据时,您可以在 SQL Server 数据和 Databricks 中的数据之间进行反连接。像这样的东西(在 Python 中):
jdbc_url = f"jdbc:sqlserver://{hostname}:{port};database={database}"
sql_data = spark.read.jdbc(jdbc_url, "your_table", connectionProperties)
your_data = spark.read.format("delta").load("path")
# get difference between datasets
diff = sql_data.join(your_data, <join-condition>, "leftanti")
# work with diff
要从 SQL Server 读取,请按照有关如何优化读取性能的说明进行操作,但这可能取决于您的实际架构。