你好,
我看著構建數據倉庫使用磚。大部分的數據將來自SQL Azure,和我們現在啟用了SQL Azure CDC捕獲變化。我也想進口這個沒有支付額外的像FiveTran連接器。
1。會合理的創建一個筆記本/δ住管道/源表嗎?
2。三角洲第一次住管道運行不會有表或數據在磚我猜我需要一個快速檢查表是否已經存在,如果沒有,把整個表從SQL Azure嗎?我在想這樣的(盡管它似乎不工作)?
db_name = " AdventureWorks " table_name = ' SalesLT_Customer ' tables_collection = spark.catalog.listTables (db_name) table_names_in_db = [table.name表tables_collection] table_exists = table_name table_names_in_db如果不是table_exists: @dlt。表(name = f“SalesLT_Customer”,評論= f SalesLT“原始數據。客戶”)def SalesLT_Customer (): df = spark.read.format (jdbc) \ .option (“url”,“jdbc::狀態"置疑" / / sql.database.windows.net;數據庫名=數據庫”)\ .option(“用戶名”、“x”) \ .option(“密碼”、“x”) \ .option(“數據表”,“SalesLt.Customer”) \ .option(“司機”,“com.microsoft.sqlserver.jdbc.SQLServerDriver”) \ .load()返回(df)
對於後續的運行,我將SQL Azure來自疾病控製中心的數據表中。也許是這樣的?
@dlt。表(name = f“CDC_SalesLT_Customer_CT”,評論= f SalesLT_Customer_CT疾控中心“原始數據”)def CDC_SalesLT_Customer_CT (): df = spark.read.format (jdbc) \ .option (“url”,“jdbc::狀態"置疑" / / sql.database.windows.net;數據庫名=數據庫”)\ .option(“用戶名”、“x”) \ .option(“密碼”、“x”) \ .option(“數據表”,“cdc.SalesLT_Customer_CT”) \ .option(“司機”,“com.microsoft.sqlserver.jdbc.SQLServerDriver”) \ .load()返回(df)
這似乎合理的到目前為止嗎?