注意
Azure Active Directory 現在改為 Microsoft Entra ID。 深入了解
使用包含 Common Data Model 資料表的 Azure Data Lake Storage 帳戶,將資料擷取至 Dynamics 365 Customer Insights - Data 中。 資料擷取可以為全部或累加。
必要條件
Azure Data Lake Storage 帳戶必須已啟用階層命名空間。 資料必須以階層式資料夾格式儲存,且格式中定義了根資料夾並包含每個資料表的子資料夾。 子資料夾可以擁有完整資料或累加式資料資料夾。
要使用 Microsoft Entra 服務主體進行驗證,必須在您的租用戶中進行設定。 如需詳細資訊,請參閱使用 Microsoft Entra 服務主體連接至 Azure Data Lake Storage 帳戶。
若要連接至受防火牆保護的儲存體,請設定 Azure Private Link。
如果資料湖目前有任何私人連結連接,則無論網路存取設定如何,Customer Insights - Data 也都必須使用私人連結進行連接。
您想要連接並用於內嵌資料的 Azure Data Lake Storage,必須與 Dynamics 365 Customer Insights 環境位於相同的 Azure 區域,且訂閱必須要在相同的租用戶下。 不支援從不同 Azure 區域的資料湖連線到 Common Data Model 資料夾。 若要了解環境的 Azure 區域,請移至 Customer Insights - Data 中的設定>系統>關於。
儲存在線上服務中的資料可能儲存在與處理或儲存資料所在位置不同的位置。 匯入或連接至儲存在線上服務的資料,即表示您同意可以將資料轉移。 請至 Microsoft 信任中心了解詳細資訊。
Customer Insights - Data 服務主體必須是下列其中一個角色,才能存取儲存體帳戶。 如需詳細資訊,請參閱將權限授與服務主體以存取儲存體帳戶。
- 儲存體 Blob 資料讀者
- 儲存體 Blob 負責人
- 儲存體 Blob 資料參與者
使用 Azure 訂閱選項連接至 Azure 儲存體時,設定資料來源連接的使用者至少需要儲存體帳戶的儲存體 Blob 資料參與者權限。
使用 Azure 資源選項連接至 Azure 儲存體時,設定資料來源連接的使用者在儲存體帳戶上至少需要 Microsoft.Storage/storageAccounts/read 動作的權限。 包含此動作的 Azure 內建角色是讀者 角色。 若要將存取範圍僅限必要的動作,請建立 Azure 自訂角色,而該角色僅包含此動作。
為獲得最佳效能,磁碟分割的大小應等於或小於 1 GB,而且資料夾中的磁碟分割檔案數不得超過 1000。
Data Lake Storage 中的資料應遵循 Common Data Model 標準來儲存您的資料,並使用 Common Data Model 資訊清單來表示資料檔案的結構描述 (*.csv 或 *.parquet)。 此資訊清單必須提供資料表的詳細資料 (例如資料表欄和資料類型) 以及資料檔案位置和檔案類型。 如需更多資訊,請前往 Common Data Model 資訊清單。 如果沒有清單檔,具有 Storage Blob Data Owner 或 Storage Blob Data Contributor 存取權的系統管理員使用者可以在匯入資料時定義結構描述。
注意
如果 .parquet 檔案中的任何欄位資料型別為 Int96,資料可能無法顯示在資料表頁面上。 建議使用標準資料類型,例如 Unix 時間戳記格式 (將時間表示為自 1970 年 1 月 1 日午夜 UTC 以來的秒數)。
限制
- Customer Insights - Data 不支援有效位數大於 16 的小數類型資料行。
連接至 Azure Data Lake Storage
資料連接名稱、資料路徑 (例如容器中的資料夾) 和資料表名稱必須使用字母開頭的名稱。 名稱只能包含字母、數字和底線 (_)。 不支援特殊字元。
移至資料>資料來源。
選取新增資料來源。
輸入資料來源名稱和說明 (選填)。 該名稱在下游流程中參考,並且在建立資料來源後無法變更。
您可以選擇下列其中一種選項,以連接使用的儲存體。 如需詳細資訊,請參閱使用 Microsoft Entra 服務主體連接至 Azure Data Lake Storage 帳戶。
- Azure 資源:輸入資源識別碼。
- Azure 訂閱:選取訂閱,然後選取資源群組和儲存體帳戶。
注意
您需要容器的下列其中一個角色,才能建立資料來源:
- 「儲存體 Blob 資料讀者」足以讀取儲存體帳戶,並將資料內嵌至 Customer Insights - Data。
- 如果要直接在 Customer Insights - Data 中編輯資訊清單檔案,則需要「儲存體 Blob 資料參與者」或「儲存體 Blob 資料負責人」。
在儲存體帳戶上擁有角色,會在其所有容器上提供相同角色。
選擇包含資料和結構描述 (model.json or manifest.json 檔案) 的容器名稱,以從其中匯入資料。
注意
與環境中其他資料來源相關聯的任何 model.json 或 manifest.json 檔案都不會顯示在清單中。 然而同一個 model.json 或 manifest.json 檔案可在多個環境中用在資料來源。
或者,如果您想透過 Azure Private Link 從儲存體帳戶中內嵌資料,請選取啟用 Private Link。 如需詳細資訊,請移至 Private Link。
若要建立新的結構描述,請移至建立新的結構描述檔案。
若要使用現有的結構描述,請前往 model.json 或 manifest.cdm.json 檔案的資料夾。 您可以在目錄中搜尋檔案。
請選取 json 檔案,然後選取下一步。 顯示可用資料表的清單。
選取要包含的資料表。
提示
若要在 JSON 編輯介面中編輯資料表,請選取資料表,然後選取編輯結構描述檔案。 進行變更並選取儲存。
如果選定的資料表需要累加式擷取,則累加式重新整理下顯示必要。 若要對每一個資料表,請參閱為 Azure Data Lake 資料來源設定累加式重新整理。
對於未定義主索引鍵的選定資料表,則會在主索引鍵下顯示必要。 對每一個資料表:
- 選取必要。 編輯資料表面板隨即顯示。
- 選擇主索引鍵。 主索引鍵是資料表的唯一屬性。 若要讓屬性成為有效的主索引鍵,其中不能包含重複值、遺漏值或 Null 值。 字串、整數及 GUID 資料類型屬性均支援主索引鍵。
- 或者,變更分區模式。
- 選取關閉以儲存並關閉面板。
為每個已包含的資料表選取欄的數量。 管理屬性頁面隨即顯示。
- 建立新的欄、編輯或刪除現有的欄。 您可以變更名稱、資料格式或新增語義類型。
- 若要啟用分析和其他功能,請為整個資料表或特定資料行選取資料分析。 根據預設,沒有資料表會啟用於資料剖析。
- 選取完成。
選取儲存。 資料來源頁面會打開,顯示處於重新整理狀態中的新資料來源。
載入資料可能需要花費一些時間。 成功重新整理之後,即可從資料表頁面查看擷取的資料。
建立新的結構描述檔案
選取建立結構描述檔案。
輸入檔案名稱,然後選取儲存。
選取新增資料表。 新增資料表面板隨即顯示。
輸入資料表名稱,然後選擇資料檔案位置。
- 多個 .csv 或 .parquet 檔案:瀏覽至根資料夾、選取模式類型,然後輸入運算式。
- 單一 .csv 或 .parquet 檔案:瀏覽至 .csv 或 .parquet 檔案位置,並選取該檔案。
選取儲存。
選取定義屬性以手動新增屬性,或選取自動生成屬性。 若要定義屬性,請輸入名稱,並選取資料格式及語義類型 (選填)。 對於自動產生屬性:
自動生成屬性後,請選取檢閱屬性。 管理屬性頁面隨即顯示。
請確定每個屬性的資料格式都正確。
若要啟用分析和其他功能,請選取整個資料表或特定欄的資料分析。 根據預設,沒有資料表會啟用於資料剖析。
選取完成。 選取資料表頁面隨即顯示。
繼續新增資料表和欄 (如果適用)。
在新增所有資料表後,選取加入以將資料表包含在資料來源匯入中。
如果選定的資料表需要累加式擷取,則累加式重新整理下顯示必要。 若要對每一個資料表,請參閱為 Azure Data Lake 資料來源設定累加式重新整理。
對於未定義主索引鍵的選定資料表,則會在主索引鍵下顯示必要。 對每一個資料表:
- 選取必要。 編輯資料表面板隨即顯示。
- 選擇主索引鍵。 主索引鍵是資料表的唯一屬性。 若要讓屬性成為有效的主索引鍵,其中不能包含重複值、遺漏值或 Null 值。 字串、整數及 GUID 資料類型屬性均支援主索引鍵。
- 或者,變更分區模式。
- 選取關閉以儲存並關閉面板。
選取儲存。 資料來源頁面會打開,顯示處於重新整理狀態中的新資料來源。
載入資料可能需要花費一些時間。 成功重新整理後,即可從資料>資料表頁面中檢閱擷取的資料。
編輯 Azure Data Lake Storage 資料來源
您可以更新連接至使用的儲存體帳戶選項。 如需詳細資訊,請參閱使用 Microsoft Entra 服務主體連接至 Azure Data Lake Storage 帳戶。 若要從儲存體帳戶連接至不同的容器,或變更帳戶名稱,請建立新的資料來源連接。
移至資料>資料來源。 在您想要更新的資料來源旁邊,選取編輯。
變更下列資訊:
描述
使用以下方式連接您的儲存體和連接資訊。 更新連接時,您無法變更 容器 資訊。
注意
必須把下列的其中一種角色指派給儲存體帳戶或容器:
- 儲存體 Blob 資料讀者
- 儲存體 Blob 負責人
- 儲存體 Blob 資料參與者
啟用 Private Link (如果要透過 Azure Private Link 從儲存體帳戶內嵌資料的話)。 如需詳細資訊,請移至 Private Link。
選取下一步。
變更下列資訊:
瀏覽至不同的 model.json 或 manifest.json 檔案位置,該檔案包含一組來自該容器的不同資料表集。
若要新增更多要匯入的資料表,請選取新資料表。
若要移除任何已選定的資料表 (如果沒有任何相依性),請選取該資料表,然後刪除。
重要
如果現有的 model.json 或 manifest.json 檔案與資料表集存在相依性,您會看到錯誤訊息,且無法選取不同的 model.json 或 manifest.json 檔案。 在變更 model.json 或 manifest.json 檔案之前移除這些相依性,或以您要使用的 model.json 或 manifest.json 檔案建立新的資料來源來避免移除相依性。
若要變更資料檔案位置或主索引鍵,請選取編輯。
若要變更累加式擷取資料,請參閱為 Azure Data Lake 資料來源設定累加式重新整理。
僅變更資料表名稱,使其符合 .json 檔案中的資料表名稱。
注意
擷取後,資料表名稱必須始終與 model.json 或 manifest.json 檔案中的資料表名稱保持一致。 每次系統重新整理時,Customer Insights - Data 都會使用 model.json 或 manifest.json 來驗證所有資料表名稱。 如果資料表名稱變更,會發生錯誤,因為 Customer Insights - Data 無法在 .json 檔案中找到新的資料表名稱。 如果擷取的資料表名稱意外變更,請編輯資料表名稱,使之符合 .json 檔案中的名稱。
選取欄來新增或變更欄,或啟用資料分析。 然後,選取完成。
選取儲存以套用變更,並返回至資料來源頁面。
在結構描述變更時更新資料來源
如果在建立資料來源連線後來源資料的結構描述發生變更,會出現結構描述不符或資料不符的錯誤,要求您更新資料來源連線。 在工作詳細資訊中會顯示「來源資料中的欄位已變更」的錯誤。 結構描述變更包括更新欄位、欄位名稱和欄位資料型別。
移至資料>資料來源。 在有錯誤的資料來源旁選取編輯。 然後選取下一步。
選取有錯誤的資料表。
選取自動產生屬性並確認。
屬性產生完成後,選取完成。
在資料表上選取加入,然後選取儲存以套用您的變更並返回資料來源頁面。
防止 Data Lake 擷取中的資料分割片段
您的資料湖分割策略可能會建立數十萬個小型分割區,例如每小時每個實體都有一個新分割區。 若要避免分割區碎片,請遵循下列最佳實務:
- 避免過度分割:分割應該以低基數資料行 (例如日期或區域) 為基礎,而不是高基數欄位 (例如實體 ID 或小時)。
- 目標最佳檔案大小:若要減少開啟和關閉許多小檔案的開銷並提高讀取效能,請將檔案分割區設在 16 MB 到 1 GB 之間。
- 使用提供自動最佳化功能的 Delta Lake:Delta Lake 支援自動壓縮,並最佳化自動管理檔案大小和分割區配置的寫入功能。 在 Databricks Runtime 11.3 和更新版本上,Delta Lake 會在背景自動調整檔案大小和分割區。
- 定期重新評估分割策略:隨著資料量和存取模式的演變,您的分割策略也應該隨之演變。 使用資料跳過統計和查詢分析等工具來引導調整。
數十萬個小分割區可能會導致下列症狀:
- 資料擷取和查詢執行期間的效能降低。
- 增加中繼資料額外負荷和延遲。
- 由於儲存和運算使用效率低下,營運成本較高。
- 當分割區數目超過服務限制時發生錯誤。
- 當系統嘗試為每個分割區建立圖時,記憶體不足錯誤。