三角洲湖限製S3

本文詳細介紹一些你工作時可能會遇到的限製與數據存儲在S3三角洲湖磚。最終一致的模型中使用Amazon S3會導致潛在問題當多個係統或集群同時修改同一表中的數據。

磚和三角洲湖支持多集群寫道在默認情況下,這意味著查詢寫入表同時從多個集群不會腐敗。三角洲表存儲在S3,這保證僅限於單個磚工作區。

警告

為了避免潛在的數據丟失和數據丟失問題,磚建議您不要修改相同的三角洲表存儲在S3中從不同的工作區。

多集群在S3寫道的局限性是什麼?

不支持以下特性以這種模式運行時:

你可以禁用多集群通過設置寫道spark.databricks.delta.multiClusterWrites.enabled。如果他們被禁用,寫入一個表必須源自一個集群。

警告

禁用spark.databricks.delta.multiClusterWrites.enabled和修改相同的表從三角洲多個同時集群可能導致數據丟失或數據損壞。

為什麼我刪除三角洲湖數據仍然存儲在S3中嗎?

如果您使用的是三角洲湖,你使桶版本S3 bucket,你有兩個實體管理表文件:三角洲湖和AWS。確保數據是完全刪除,你必須:

  • 清理刪除文件中不再三角洲湖使用事務日誌真空

  • 啟用一個S3版本對象的生命周期政策,確保刪除舊版本的文件被清除。

為什麼一個表顯示舊的數據在我刪除三角洲湖文件rm射頻並創建一個新表在相同的位置嗎?

刪除在S3隻是最終一致。因此表刪除舊版本的事務日誌後可能仍然是可見的。為了避免這種情況,不重用一個表路徑後刪除它。相反,我們建議您使用事務機製刪除,覆蓋,overwriteSchema刪除和更新表。看到最佳實踐來取代一個表