監視和管理 Delta Sharing 輸出成本 (適用於提供者)
本文說明當您使用 Delta Sharing 共用資料和 AI 資產時,可用來監視和管理雲端廠商輸出成本的工具。
與其他資料共用平台不同,差異共用不需要資料複寫。 此模型有許多優點,但這意味著當跨雲端或跨區域共用資料時,你的雲端廠商可能會收取資料輸出費用。 如果您使用 Delta Sharing 來共用區域內的資料和 AI 資產,則不會產生任何輸出成本。
為了監視和管理輸出費用,Databricks 提供:
複寫資料以避免輸出成本
避免輸出成本的其中一種方法是提供者在收件者所使用的區域中建立及同步共享資料的本機複本。 另一種方法是讓收件者將共用資料複製到本機區域以供使用中查詢,設定共用資料表與本機複製之間的同步處理。 本節討論一些複寫模式。
使用 Delta 深層複製進行累加式複寫
提供者可用來 DEEP CLONE
將 Delta 資料表複寫到其所共享區域的外部位置。 深層複製會將來來源資料表資料和中繼資料複製到複製目標。 深層複製也會藉由識別來來源資料表中的新資料並據以重新整理目標,來啟用累加式更新。
CREATE TABLE [IF NOT EXISTS] table_name DEEP CLONE source_table_name
[TBLPROPERTIES clause] [LOCATION path];
您可以使用下列命令,排程 Databricks 工作,以累加方式使用共享資料表中的最近更新來重新整理目標資料表資料:
CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;
請參閱複製 Azure Databricks 上的資料表和排程及協調工作流程。
在共享資料表上啟用變更資料摘要(CDF)以進行累加式複寫
當資料表與其CDF共用時,收件者可以存取變更,並將其合併到資料表的本機複本,讓使用者執行查詢。 在此案例中,資料的收件者存取不會跨越區域界限,而輸出僅限於重新整理本機複本。 如果收件者位於 Databricks 上,他們可以使用 Databricks 工作流程工作將變更傳播至本機複本。
若要與CDF共用資料表,您必須在資料表上啟用CDF,並加以共用。WITH HISTORY
如需使用CDF的詳細資訊,請參閱 在 Azure Databricks 上使用 Delta Lake 變更資料摘要和 將資料表新增至共用。
使用 Cloudflare R2 複本或將儲存體移轉至 R2
Cloudflare R2 物件儲存體不會產生任何輸出費用。 複寫或移轉您共用至 R2 的資料可讓您使用差異共用來共享資料,而不會產生輸出費用。 本節說明如何將資料複寫至 R2 位置,並從來源資料表啟用累加式更新。
需求
- 已為 Unity 目錄啟用 Databricks 工作區。
- Databricks Runtime 14.3 或更新版本,或 SQL 倉儲 2024.15 或更新版本。
- Cloudflare 帳戶。 請參閱 https://dash.cloudflare.com/sign-up。
- Cloudflare R2 系統管理員角色。 請參閱 Cloudflare 角色文件。
- 連結至工作區之 Unity 目錄中繼存放區上的
CREATE STORAGE CREDENTIAL
權限。 帳戶管理員和中繼存放區管理員預設具有此權限。 CREATE EXTERNAL LOCATION
中繼存放區和外部位置所參考之儲存體認證的權限。 預設中繼存放區管理員擁有此權限。CREATE MANAGED STORAGE
外部位置的權限。- 中繼存放區上的
CREATE CATALOG
。 預設中繼存放區管理員擁有此權限。
將 R2 貯體裝載為 Azure Databricks 中的外部位置
建立 Cloudflare R2 貯體。
請參閱設定 R2 貯體。
在 Unity 目錄中建立儲存體認證,以存取 R2 貯體。
請參閱建立儲存體認證。
使用儲存體認證在 Unity 目錄中建立外部位置。
如需相關資訊,請參閱建立外部位置以將雲端儲存連線到 Azure Databricks。
使用外部位置建立新的目錄
建立使用新外部位置作為其受控儲存位置的目錄。
請參閱建立目錄。
建立目錄時,請執行下列動作:
目錄總管
- 選取標準目錄類型。
- 在 [儲存體位置] 底下,選取 [選取儲存位置],然後輸入您定義為外部位置之 R2 貯體的路徑。 例如,
r2://mybucket@my-account-id.r2.cloudflarestorage.com
SQL
使用您定義為外部位置之 R2 貯體的路徑。 例如:
CREATE CATALOG IF NOT EXISTS my-r2-catalog
MANAGED LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com'
COMMENT 'Location for managed tables and volumes to share using Delta Sharing';
將您想要分享的資料複製到新目錄中的資料表
使用 DEEP CLONE
將 Azure Data Lake Storage Gen2 中的資料表複寫至使用 R2 進行受控儲存體的新目錄。 深層複製會將來來源資料表資料和中繼資料複製到複製目標。 深層複製也會藉由識別來來源資料表中的新資料並據以重新整理目標,來啟用累加式更新。
CREATE TABLE IF NOT EXISTS new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table
LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com';
您可以使用下列命令,排程 Databricks 工作,以累加方式使用來源資料表中的最近更新來重新整理目標資料表資料:
CREATE OR REPLACE TABLE new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table;
請參閱複製 Azure Databricks 上的資料表和排程及協調工作流程。
分享新資料表
當您建立共用時,請新增儲存在 R2 中新目錄中的資料表。 此程序與將任何資料表新增至共用相同。