我在訪問一個前提SQL Server表。表相對較小(000行),我使用訪問它
如果沒有明確的“InsertedOn”列或其他明顯的密鑰用於增量加載,你仍然可以從本地SQL Server表實現增量加載的青銅表lakehouse用火花和一些額外的邏輯。雖然流可能沒有必要在這種情況下,你仍然可以使用火花的能力來管理有效負載增量。這裏有一個建議的方法:
銅表加載到一個DataFrame:在執行增量加載之前,現有的數據從您的青銅表加載到DataFrame。
bronze_df = spark.read.format(“δ”).load (“path_to_bronze_table”)
2。整個源表從SQL服務器加載到另一個DataFrame:
source_df = spark.read。jdbc (url = jdbcUrl表=查詢)
exceptAll或源DataFrame anti-join識別新記錄相比,現有的銅表中的數據。
從pyspark。sql導入函數F
#如果有一個惟一的標識符列id,您可以使用它進行比較
new_records_df = source_df。加入(bronze_df“id”,“left_anti”)
new_records_df.write.format .mode(“δ”)(“追加”).save (“path_to_bronze_table”