在過去的五年中,我們看到資料生態系統中的許多概念和新工具有助於實施資料工程最佳實踐。這一趨勢包括資料網格、資料品質測試、可觀測性和資料監控。
我們希望從軟體工程中藉鑒並在數據工程和數據科學中使用的實踐圍繞從開發到生產的數據生命週期管理。為此,我們首先需要能夠輕鬆取得我們可以使用的資料的隔離版本。它是所有這些最佳實踐的基礎。
資料格式、資料庫和資料版本控
制系統提供了隔離資料副本的能力,每個資料副本都有自己的術語,這在新概念出現時經常發生。無論您使用淺拷貝、淺克隆還是分支,您都希望實現同一件事:隔離。
繼續閱讀以了解有關資料淺
複製概念的更多信息,並深入了解 的用例。
讓我們正確理 馬來西亞 WhatsApp 號碼數據 解術語
淺拷貝與深拷貝-它們的意思是一樣的嗎?
淺拷貝複製原始元素,但不複製原始元素引用的任何元素。
深層複製不僅會複製原始元素
還會複製原始元素所引用的任何元素。複製操作為原始元素中的每個引用產生被引用物件的新實例,將被引用物件的內容複製到該物件的新實例中,並將對該物件的新實例的引用儲存在新元素中。
例如,如果元素是表格(Delta Lake 表或 Snowflake 表)
則淺表複製將建立表格的版本,但不會複製資料本身;它只會指向它。另一方面,深層複製也會複製數據,在儲存中建立表格的完整副本。
與淺拷貝類似的一個概念是分支如果您將資料湖視為儲存庫,則分支將是儲存庫中所有資料集的淺表副本。對於 Git 等原始碼控制系統的使用者來說,這個術 語應 客戶體驗有助於消費者對您的品牌的看法 該很直觀。但在我們的討論中,它指的是資料集而不是原始碼。 Iceberg、Nessie Project 和 LakeFS 使用此術語。最後兩個在功能上與第一個不同,但淺拷貝的基本想法適用於所有情況。
淺克隆——這個術語相關嗎?
您可能聽說過另一個術語:淺克隆。它是什麼?
淺克隆是版本控制系統 Git 中的一個概念。 Git 淺克隆可讓您僅取得最近的提交,而不是整個儲存庫歷史記錄。無論您的專案是否有多年的歷史 埃克萊拉納賈 和數千次提交,都沒關係 – 您可以使用它來選擇給定的拉取深度。
注意:資料中使用術語「表克隆」或「淺表克隆」來指淺拷貝,這可能會令人困惑,因為它與 Git 的淺克隆沒有直接關係。
當談到資料時,淺拷貝就是淺克隆
或克隆,在某些情況下,它們甚至被稱為分支。只要我們明白它們的意思都是一樣的,我們就可以了。
表格的淺拷貝:術語和用例的差異
Delta 克隆:Databricks 的 Delta Lake
在 Databricks 中,Delta 克隆將
來源 Delta 表複製到給定版本的目標 Delta 表。克隆可以是深克隆或淺克隆:深克隆從來源複製數據,而淺克隆則不複製。
深度克隆是將來源表資料以及現有表的資訊複製到克隆目標的克隆。此外,流資訊被克隆,以便寫入增量表的流可以在來源表上暫停,並在克隆目標上從中斷處恢復。
在淺克隆中,資料檔案不會複製到
克隆目標。表資訊與來源相同。淺克隆利用位於來源目錄中的資料檔案。
難怪這些克隆的生產成本效益更高。深度克隆獨立於複製來源,但製作成本高昂,因為深度克隆會複製資料和資訊。