共用方式為


以 Delta Lake 格式匯出 Dataverse 資料

使用 Azure Synapse Link for Dataverse 將 Microsoft Dataverse 資料以 Delta Lake 格式匯出至 Azure Synapse Analytics。 接著探索您的資料並加快深入解析速度。 本文提供下列資訊,並示範如何執行下列工作:

  • 說明 Delta Lake 和 Parquet 以及您必須將資料匯出為此格式的原因。
  • 使用 Azure Synapse Link 將 Dataverse 資料以 Delta Lake 格式匯出至 Azure Synapse Analytics 工作區。
  • 監視 Azure Synapse Link 和資料轉換。
  • 在 Azure Data Lake Storage Gen2 中檢視您的資料。
  • 在 Synapse 工作區中檢視您的資料。

重要

  • 如果您要使用現有的自訂視圖從 CSV 升級到 Delta Lake,我們建議更新指令碼以將所有分區表格替換為 non_partitioned。 透過尋找 _partitioned 的執行個體並將其替換為空字串來完成。
  • 對於 Dataverse 設定,預設會啟用僅限附加,以 appendonly 模式匯出 CSV 資料。 但是 Delta Lake 表格具有就地更新結構,因為 Delta Lake 轉換會伴隨進行定期合併程序。
  • 建立 Spark 集區不會產生任何成本。 只有在對目標 Spark 集區執行 Spark 工作,並已視需要將 Spark 執行個體具現化後,才會產生費用。 這些成本與 Azure Synapse workspace Spark 的使用情況相關,並且是按月計費。 進行 Spark 計算的成本主要取決於增量更新時間間隔和資料量。 其他資訊:Azure Synapse Analytics 價格
  • 請務必在決定使用此功能時,考慮這些額外的成本,因為這些成本並非選擇性,您必須支付才能繼續使用此功能。
  • Apache Spark 3.1 的 Azure Synapse 執行階段已於 2023 年 1 月 26 日宣布停產 (EOLA)。 根據 Apache Spark 生命週期原則的 Synapse 執行階段,Apache Spark 3.1 的 Azure Synapse 執行階段將於 2024 年 1 月 26 日退役並停用。 在 EOL 日期之後,已停用的執行階段將不可用於新的 Spark 集區,且現有工作流程也無法執行。 中繼資料將暫時保留在 Synapse 工作區中。 其他資訊:Apache Spark 3.1 的 Azure Synapse 執行階段 (EOLA)。 若要讓具有匯出到 Delta Lake 格式的 Dataverse Synapse 連結升級到 Spark 3.3,請對現有設定檔進行就地升級。 如需詳細資訊:使用 Delta Lake 2.2 就地升級到 Apache Spark 3.3
  • 從 2024 年 1 月 4 日開始,初始建立連結時,將僅支援 Spark Pool 版本 3.3。

注意

Power Apps (make.powerapps.com) 中 Azure Synapse Link 的狀態反映了 Delta Lake 的轉換狀態:

  • Count 顯示 Delta Lake 表格中的記錄數。
  • Last synchronized on 日期時間表示上次成功轉換的時間戳記。
  • 當資料同步和 Delta Lake 轉換完成後,Sync status 會顯示為使用中,表示資料已準備好可供使用。

什麼是 Delta Lake?

Delta Lake 是開放原始碼專案,可讓您在資料湖之上建立資料湖倉儲架構。 Delta Lake 提供 ACID (不可部分完成性、一致性、隔離性、耐用性) 交易、可調整中繼資料處理,並在現有資料湖的基礎上整合串流與批次資料處理。 Azure Synapse Analytics 與 Linux Foundation Delta Lake 相容。 隨附於 Azure Synapse 的最新版本 Delta Lake 提供對 Scala、PySpark 和 .NET 的語言支援。 其他資訊:什麼是 Delta Lake? 您也可以從 Delta Tables 簡介影片中深入了解。

Apache Parquet 是 Delta Lake 的基準格式,可讓您利用格式原生的高效壓縮和編碼配置。 Parquet 檔案格式使用逐欄壓縮。 這很有效率且節省儲存空間。 擷取特定欄值的查詢不需要讀取整列資料,從而提高了效能。 因此,無伺服器 SQL 集區讀取資料所需的時間與儲存空間要求也較少。

為什麼使用 Delta Lake?

  • 可擴縮性:Delta Lake 是在開放原始碼 Apache 授權的基礎上建置,旨在符合處理大規模資料處理工作負載的產業標準。
  • 可靠性:Delta Lake 提供 ACID 交易,即使發生失敗或同時存取,也能確保資料一致性和可靠性。
  • 效能:Delta Lake 利用 Parquet 的單欄式儲存格式,提供更好的壓縮與編碼技術,這與查詢 CSV 檔案相比,可以帶來更高的查詢效能。
  • 成本效益:Delta Lake 檔案格式是高度壓縮資料儲存技術,可讓企業大幅節約可能的儲存空間。 此格式是特別為了最佳化資料處理而設計,可能會減少隨選計算所需的已處理資料總量或執行時間。
  • 資料保護合規性:具有 Azure Synapse Link 的 Delta Lake 會提供工具和功能,其中包括虛刪除和實刪除,以符合包含一般資料保護規定 (GDPR) 在內的各種資料隱私權法規。

設定 Azure Synapse Link for Dataverse 時,您可以啟用匯出至 Delta Lake 功能,並與 Synapse 工作區及 Spark 集區連接。 Azure Synapse Link 會在指定的時間間隔以 CSV 格式匯出所選的 Dataverse 表格,並透過 Delta Lake 轉換 Spark 工作來處理這些表格。 完成此轉換程序時,會清理 CSV 資料以節省儲存空間。 此外,還會排定一連串要每天自動執行壓縮和清除程序的維護工作,以合併和清理資料檔案,進一步最佳化儲存空間並改善查詢效能。

先決條件

  • Dataverse:您必須具備 Dataverse 系統管理員資訊安全角色。 此外,您要透過 Azure Synapse Link 匯出的表格必須已啟用追蹤變更屬性。 其他資訊:進階選項
  • Azure Data Lake Storage Gen2:您必須擁有 Azure Data Lake Storage Gen2 帳戶和 擁有者Storage Blob 資料參與者角色存取權。 您的儲存體帳戶對於初始設定和差異同步都必須啟用階層命名空間公用網路存取。只有初始設定才需要允許儲存體帳戶金鑰存取
  • Synapse 工作區:您必須擁有一個 Synapse 工作區和存取控制 (IAM) 中負責人的角色,以及 Synapse Studio 中 Synapse 系統管理員的角色存取權。 Synapse 工作區必須與您的 Azure Data Lake Storage Gen2 帳戶位於相同的區域。 在 Synapse Studio 中,必須將儲存帳戶新增為連結的服務。 若要建立 Synapse 工作區,請移至建立 Synapse 工作區
  • 在已連接之 Azure Synapse workspace 中的一個 Spark 集區,其中具有使用此建議的 Spark 集區設定Apache Spark 版本 3.3。 若想深入了解建立 Spark 集區的方式,請移至建立新的 Apache Spark 集區
  • 使用此功能的 Microsoft Dynamics 365 最小版本需求是 9.2.22082。 其他資訊:選擇加入搶先體驗更新

此設定可視為一般使用案例的引導步驟。

  • 節點大小:小型 (4 個 vCore/32 GB)
  • 自動調整:已啟用
  • 節點數目:5 至 10 個
  • 自動暫停:已啟用
  • 閒置分鐘數:5
  • Apache Spark:3.3
  • 動態分配執行程式:已啟用
  • 預設執行程序數:1 到 9

將 Dataverse 連接至 Synapse 工作區,並以 Delta Lake 格式匯出資料

  1. 登入 Power Apps,並選取您想要的環境。

  2. 在左側瀏覽窗格中,選取 Azure Synapse Link。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。

  3. 在命令列上,選取 + 新連結

  4. 選取連接至 Azure Synapse Analytics 工作區,然後選取訂閱資源群組工作區名稱

  5. 選取使用 Spark 集區來處理,然後選取之前建立的 Spark 集區儲存體帳戶 包含 Spark 集區的 Azure Synapse Link for Dataverse 設定。

  6. 選取下一步

  7. 新增想要匯出的資料表,然後選取進階

  8. (選擇性) 選取顯示進階組態設定,並輸入應擷取增量更新的時間間隔 (以分鐘為單位)。

  9. 選取儲存

  1. 選取所需的 Azure Synapse Link,然後選取命令列上的移至 Azure Synapse Analytics 工作區
  2. 選取監控 > Apache Spark 應用程式。 詳細資訊:使用 Synapse Studio 監控您的 Apache Spark 應用程式

在 Synapse 工作區中檢視您的資料

  1. 選取所需的 Azure Synapse Link,然後選取命令列上的移至 Azure Synapse Analytics 工作區
  2. 展開左窗格上的 Lake 資料庫、選取 dataverse-environmentNameorganizationUniqueName,然後展開表格。 所有 Parquet 資料表至已列出,並可用於使用命名慣例 DataverseTableName 進行分析。 (非分割資料表)

在 Azure Data Lake Storage Gen2 中檢視您的資料

  1. 選取您要的 Azure Synapse Link,然後在命令列上選取移至 Azure data lake
  2. 選取資料儲存體底下的容器
  3. 選取 *dataverse- *environmentName-organizationUniqueName。 所有 Parquet 檔案都儲存在 deltalake 資料夾中。

使用 Delta Lake 2.2 就地升級到 Apache Spark 3.3

先決條件

  1. 您必須擁有一個透過 Synapse Spark 版本 3.1 執行的現有 Azure Synapse Link for Dataverse Delta Lake 設定檔。
  2. 您必須使用 Spark 版本 3.3 建立新的 Synapse Spark 集區,並在同一 Synapse 工作區中使用相同或更高的節點硬體設定。 若想深入了解建立 Spark 集區的方式,請移至建立新的 Apache Spark 集區。 此 Spark 集區應與目前 3.1 集區分開,單獨建立。

就地升級到 Spark 3.3:

  1. 登入 Power Apps 並選取您偏好的環境。
  2. 在左側瀏覽窗格中,選取 Azure Synapse Link。 如果此項目不在左側瀏覽窗格中,請選取 ...其他,然後選取您想要的項目。
  3. 打開 Azure Synapse Link 設定檔,然後選取使用 Delta Lake 2.2 升級到 Apache Spark 3.3
  4. 從清單中選取可用的 Spark 集區,然後選取更新

注意

只有在觸發新的 Delta Lake 轉換 Spark 作業時,才會發生 Spark 集區升級。 確認選取更新後,至少有一項資料發生變化。

另請參閱

什麼是 Azure Synapse Link for Dataverse?