使用 Azure Data Factory 將資料從 Azure Data Lake Storage Gen1 複製到 Gen2

適用於:Azure Data Factory Azure Synapse Analytics

Azure Data Lake Storage Gen2 是一組巨量資料分析的專屬功能,內建於 Azure Blob 儲存體中。 其可讓您使用檔案系統和物件儲存範例連接您的資料。

如果您目前使用 Azure Data Lake Storage Gen1,您可以使用 Azure Data Factory 將資料從 Data Lake Storage Gen1 複製到 Gen2,以此評估 Azure Data Lake Storage Gen2。

Azure Data Factory 是完全受控的雲端式資料整合服務。 您可以使用此服務,在您建置分析解決方案時,於 Lake 中置入來自豐富的內部部署集合和雲端式資料存放區的資料,並節省時間。 如需支援的連接器清單,請參閱支援的資料存放區資料表。

Azure Data Factory 提供可向外延展的受控資料移動解決方案。 因為 Data Factory 具有相應放大架構,因此能以高輸送量內嵌資料。 如需詳細資訊,請參閱複製活動效能

本文示範如何使用 Data Factory 複製資料工具,將資料從 Azure Data Lake Storage Gen1 複製到 Azure Data Lake Storage Gen2。 您可以依照類似的步驟,從其他類型的資料存放區複製資料。

必要條件

  • Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶
  • 內有資料的 Azure Data Lake Storage Gen1 帳戶。
  • 啟用 Data Lake Storage Gen2 的 Azure 儲存體帳戶。 如果您沒有儲存體帳戶,請先建立帳戶

建立 Data Factory

  1. 若您尚未建立資料處理站,請遵循快速入門:使用 Azure 入口網站和 Azure Data Factory Studio 建立資料處理站中的步驟加以建立。 建立後,請瀏覽至 Azure 入口網站中的資料處理站。

    Azure Data Factory 的首頁,且有開放式 Azure Data Factory Studio 磚。

  2. 在 [開啟 Azure Data Factory Studio] 圖格上選取 [開啟],在不同的索引標籤中啟動資料整合應用程式。

將資料載入 Azure Data Lake Storage Gen2 中

  1. 在首頁選取 [內嵌] 圖格,啟動複製資料工具。

    顯示 ADF 首頁的螢幕擷取畫面。

  2. 在 [屬性] 頁面上,選擇 [工作類型] 底下的 [內建複製工作],然後在 [工作步調或工作排程] 底下選擇 [立即執行一次],然後選取 [下一步]。

  3. 在 [來源資料存放區] 頁面上,選取 [+ 建立新連線]。

  4. 從連接器資源庫選取 [Azure Data Lake Storage Gen1],然後選取 [繼續]。

    螢幕擷取畫面顯示選取 Azure Data Lake Storage Gen1 連線的頁面。

  5. 在 [新增連線 (Azure Data Lake Storage Gen1)] 頁面上,請遵循以下步驟:

    1. 選取 [Data Lake Storage Gen1] 作為帳戶名稱,並指定或驗證 [租用戶]
    2. 選取 [測試連接] 來驗證設定。 然後選取 [建立]。

    重要

    在此逐步解說中,您使用 Azure 資源的受控識別驗證您的 Azure Data Lake Storage Gen1。 若要將 Azure Data Lake Storage Gen1 中的適當權限授與受控識別,請遵循這些指示

    螢幕擷取畫面顯示 Azure Data Lake Storage Gen1 連線的設定。

  6. 在 [來源資料存放區] 頁面上,完成下列步驟。

    1. 在 [連線] 區段中選取新建立的連線。
    2. 在 [檔案或資料夾] 底下,瀏覽至您要複製過去的資料夾和檔案。 選取資料夾或檔案,然後選取 [確定]。
    3. 選取 [以遞迴方式] 和 [二進位複製] 選項來指定複製行為。 選取 [下一步] 。

    螢幕擷取畫面顯示來源資料存放區頁面。

  7. 在 [目的地資料存放區] 頁面上,選取 [+ 新增連線]>[Azure Data Lake Storage Gen2]>[繼續]。

    螢幕擷取畫面顯示選取 Azure Data Lake Storage Gen2 連線的頁面。

  8. 在 [新增連線 (Azure Data Lake Storage Gen2)] 頁面上,請遵循以下步驟:

    1. 從 [儲存體帳戶名稱] 下拉式清單中選取您的 Data Lake Storage Gen2 可使用帳戶。
    2. 選取 [建立] 以建立連線。

    螢幕擷取畫面顯示 Azure Data Lake Storage Gen2 連線的設定。

  9. 在 [目的地資料存放區] 頁面上,完成下列步驟。

    1. 在 [連線] 區塊中選取新建立的連線。
    2. 在 [資料夾路徑] 底下輸入 copyfromadlsgen1 做為輸出資料夾名稱,然後選取 [下一步]。 如果 Azure Data Lake Storage Gen2 檔案系統和子資料夾不存在,Data Factory 會在複製期間建立對應的檔案系統和子資料夾。

    螢幕擷取畫面顯示目的地資料存放區頁面。

  10. 在 [設定] 頁面上,針對 [工作名稱] 欄位指定 CopyFromADLSGen1ToGen2,然後選取 [下一步] 以使用預設設定。

  11. 在 [摘要] 頁面上檢閱設定,然後選取 [下一步]。

    螢幕擷取畫面顯示 [摘要] 頁面。

  12. 在 [部署] 頁面上,選取 [監視] 以監視管線。

    螢幕擷取畫面顯示 [部署] 頁面。

  13. 請注意,系統會自動選取左側的 [監視] 索引標籤。 [管線名稱] 資料行包含有可供檢視活動執行詳細資料的連結,以及重新執行管線的連結。

    螢幕擷取畫面顯示監視管線執行的頁面。

  14. 若要檢視與管線執行相關聯的活動執行,請選取 [管線名稱] 資料行中的連結。 管線中只有一個活動 (複製活動),所以您只會看到一個項目。 若要切換回管線執行檢視,請在頂端的階層連結功能表中,選取 [所有管線執行] 連結。 選取 [重新整理] 即可重新整理清單。

    螢幕擷取畫面顯示監視活動執行的頁面。

  15. 若要監視每個複製活動的執行詳細資料,請在活動監控檢視中,選取 [活動名稱] 資料行底下的 [詳細資料] 連結 (眼鏡圖示)。 您可以監視的詳細資料包括從來源複製到接收的資料量、資料輸送量、執行步驟與對應的持續期間,以及所使用的組態。

    螢幕擷取畫面顯示活動執行詳細資料。

  16. 確認資料已複製到 Azure Data Lake Storage Gen2 帳戶。

最佳作法

若要對從 Azure Data Lake Storage Gen1 升級至 Azure Data Lake Storage Gen2 進行總體評估,請參閱將您的巨量資料分析解決方案從 Azure Data Lake Storage Gen1 升級為 Azure Data Lake Storage Gen2。 下列各節會介紹使用 Data Factory 將資料從 Data Lake Storage Gen1 升級至 Data Lake Storage Gen2 的最佳做法。

初始快照集資料移轉

效能

ADF 提供無伺服器的架構,其可供以不同層級進行平行處理,允許開發人員建置管線來充分利用網路頻寬以及儲存體 IOPS 和頻寬來最大化環境的資料移動輸送量。

客戶已成功將由數以百萬計檔案組成的數 PB 資料從 Data Lake Storage Gen1 移動到 Gen2,且將輸送量維持在 2 GBps 以上。

您可以套用不同層級的平行處理原則,以達到更高的資料移動速度:

  • 單一複製活動可以利用可調整的計算資源:使用 Azure Integration Runtime 時,您可以無伺服器的方式,為每個複製活動指定最多 256 個資料整合單位 (DIU);使用自我裝載整合執行階段時,您可以手動擴大機器或擴增至多部機器 (最多 4 個節點),然後單一複製活動對所有節點之間的檔案集進行分割。
  • 單一複製活動會使用多個執行緒來從資料存放區讀取和寫入至資料存放區。
  • ADF 控制流程可以平行方式啟動多個複製活動,例如使用 For Each 迴圈。

資料磁碟分割

如果在 Data Lake Storage Gen1 的資料大小總計小於 10 TB,且檔案數目小於 1 百萬,則您可以在單一複製活動執行中複製所有資料。 如果您要複製的資料量更大,或您想要彈性地以批次方式管理資料移轉,讓每批資料在特定的時間範圍內完成,則請分割資料。 資料分割也會降低任何非預期問題的風險。

分割檔案的方式是在複製活動屬性中使用 name range- listAfter/listBefore。 每個複製活動都可以設定為一次複製一個資料分割,因此多個複製活動可以同時從單一 Data Lake Storage Gen1 帳戶複製資料。

速率限制

最佳做法是使用代表性的範例資料集進行效能 POC,其可供判斷適當的分割大小。

  1. 使用預設 DIU 設定,從單一分割和單一複製活動開始。 建議一律將平行複製設定為「空白 (預設值)」。 如果您不滿意複製的輸送量,請遵循效能微調步驟,找出並解決效能瓶頸。

  2. 逐步增加 DIU 設定,直到到達網路的頻寬限制,或資料存放區的 IOPS/頻寬限制,或到達在單一複製活動上所允許的 256 個 DIU 上限。

  3. 如果您已將單一複製活動的效能最大化,但尚未達到您環境的輸送量上限,您可以平行執行多個複製活動。

當您看到來自複製活動監視的大量節流錯誤時,這表示您已達到儲存體帳戶的容量限制。 ADF 會自動重試以克服每個節流錯誤,以確保不會遺失任何資料,但太多重試可能會降低您的複製輸送量。 在這種情況下,建議您減少同時執行的複製活動數目,避免產生大量的節流錯誤。 如果您已使用單一複製活動複製資料,則建議您減少 DIU。

差異資料移轉

您可以使用數種方法,只從 Data Lake Storage Gen1 載入新的或更新的檔案:

  • 依時間分割的資料夾或檔案名稱,載入新的或更新的檔案。 例如 /2019/05/13/*。
  • 依 LastModifiedDate 載入新的或更新的檔案。 如果您要複製大量檔案,請先執行資料分割,避免單一複製活動掃描整個 Data Lake Storage Gen1 帳戶以識別新檔案,而導致複製輸送量偏低。
  • 根據任何協力廠商工具或解決方案,識別新的或更新的檔案。 然後透過參數或資料表或檔案,將檔案或資料夾名稱傳遞至 Data Factory 管線。

執行累加式載入的適當頻率取決於 Azure Data Lake Storage Gen1 中的檔案總數,以及每次要載入新的或更新的檔案量。

網路安全性

根據預設,ADF 會透過 HTTPS 通訊協定使用加密連線,將資料從 Azure Data Lake Storage Gen1 傳輸到 Gen2。 HTTPS 會提供傳輸中的資料加密,並可防止竊聽和中間人攻擊。

或者,若您不希望透過公用網際網路傳輸資料,則可透過私人網路傳輸資料,以獲取較高的安全性。

保留 ACL

如果您想要在從 Data Lake Storage Gen1 升級至 Data Lake Storage Gen2 時,複寫 ACL 和資料檔案,請參閱保留 Data Lake Storage Gen1 的 ACL

恢復功能

在單一複製活動回合內,ADF 具備內建的重試機制,因此可處理資料存放區或基礎網路中特定層級的暫時性失敗。 如果您移轉超過 10 TB 的資料,建議您分割資料以降低任何非預期問題的風險。

您也可以在複製活動中啟用容錯功能,略過預先定義的錯誤。 您也可以啟用複製活動中的資料一致性驗證進行額外的驗證,確保不但將資料順利從來源複製到目的地存放區,還可以驗證資料在來源與目的地存放區之間的一致性。

權限

在 Data Factory 中,Data Lake Storage Gen1 連接器支援 Azure 資源驗證的服務主體和受控識別。 Data Lake Storage Gen2 連接器支援 Azure 資源驗證的帳戶金鑰、服務主體和受控識別。 若要讓 Data Factory 能夠流覽及複製所有檔案或存取控制清單, (ACL) 如果您需要將足夠的許可權授與帳戶,才能存取、讀取或寫入所有檔案,並設定 ACL。 您應該在移轉期間將超級使用者或擁有者角色授與帳戶,並在移轉完成後移除提高的許可權。

下一步