你好,
有一個需要查詢一個表的快照。所以跑:
deltaTable = deltaTable。forPath(火花,dbfs: / <路徑>)
顯示器(deltaTable.history ())
,發現每個fs。write_table運行觸發兩個操作:
編寫和創建或替換表選擇。在這兩種情況下操作模式是“添加”。
將會是很有趣的,知道為什麼兩個操作觸發和寫操作是做什麼的?
@Direo Direo:
當你使用deltaTable.write DataFrame()方法編寫成δ表,它實際上內部觸發δ寫操作。這個操作執行兩個動作:
創建或替換表的SELECT語句用於創建或替換一個表由一個查詢返回的數據。在三角洲湖,這個聲明用於創建或替換一個三角洲表查詢的結果。
三角洲的寫操作,你看表對應的第一個行動三角洲曆史
寫操作:將新數據寫入磁盤。這個操作在事務日誌記錄,可以用來回放事務失敗。
所以,寫操作記錄實際數據被寫入到三角洲表,而創建或替換表的SELECT語句記錄元數據更新δ表。
總之,當你寫一個三角洲表,兩個操作觸發:寫實際的數據寫入磁盤,和創建或替換表選擇更新表元數據在事務日誌。