共用方式為


使用資料複製工具,根據時間分割的檔案名稱以累加方式複製新檔案

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

在這個教學課程中,您會使用 Azure 入口網站來建立資料處理站。 然後,您可以使用資料複製工具來建立管線,根據從 Azure Blob 儲存體到 Azure Blob 儲存體的時間分割檔案名稱,以累加方式複製新檔案。

注意

如果您不熟悉 Azure Data Factory,請參閱 Azure Data Factory 簡介

在本教學課程中,您會執行下列步驟:

  • 建立資料處理站。
  • 使用複製資料工具建立管線。
  • 監視管線和活動執行。

必要條件

  • Azure 訂用帳戶:如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶
  • Azure 儲存體帳戶:使用 Blob 儲存體作為來源與接收資料存放區。 如果您沒有 Azure 儲存體帳戶,請參閱建立儲存體帳戶中的指示。

在 Blob 儲存體中建立兩個容器

請執行下列步驟,為本教學課程準備 Blob 儲存體。

  1. 建立名為 source 的容器。 在容器中將資料夾路徑建立為 2021/07/15/06。 建立空的文字檔,並將其命名為 file1.txt。 將 file1.txt 上傳至儲存體帳戶中的資料夾路徑 source/2021/07/15/06。 您可以使用各種工具來執行這些工作,例如 Azure 儲存體總管

    上傳檔案

    注意

    請使用您的 UTC 時間調整資料夾名稱。 例如,如果目前的 UTC 時間是 2021 年 7 月 15 日上午 6:10,您可以根據 source/{Year}/{Month}/{Day}/{Hour}/ 的規則,將資料夾路徑建立為 source/2021/07/15/06/

  2. 建立名為 destination 的容器。 您可以使用各種工具來執行這些工作,例如 Azure 儲存體總管

建立資料處理站

  1. 在左側功能表上,選取 [建立資源]>[整合]>[Data Factory]

    Data Factory 在 & quot 中選取專案;New”窗 格

  2. 在 [新增資料處理站] 頁面的 [名稱] 下,輸入 ADFTutorialDataFactory

    資料處理站的名稱必須是「全域唯一」的名稱。 您可能會收到下列錯誤訊息:

    重複名稱的新數據處理站錯誤訊息。

    如果您收到有關名稱值的錯誤訊息,請輸入不同的資料處理站名稱。 例如,使用您的名稱ADFTutorialDataFactory。 如需 Data Factory 成品的命名規則,請參閱 Data Factory 命名規則

  3. 選取要在其中建立新資料處理站的 Azure 訂用帳戶

  4. 針對 [資源群組],採取下列其中一個步驟︰

    a. 選取 [使用現有的] ,然後從下拉式清單選取現有的資源群組。

    b. 選取 [建立新的] ,然後輸入資源群組的名稱。

    若要了解資源群組,請參閱使用資源群組管理您的 Azure 資源

  5. 在 [版本] 下,選取 [V2] 作為版本。

  6. 在 [位置] 下,選取資料處理站的位置。 只有受支援的位置會顯示在下拉式清單中。 資料處理站所使用的資料存放區 (例如 Azure 儲存體和 SQL Database) 和計算 (例如 Azure HDInsight) 可位於其他地區和區域。

  7. 選取 建立

  8. 建立完成後,隨即會顯示 Data Factory 首頁。

  9. 若要在個別索引標籤中啟動 Azure Data Factory 使用者介面 (UI),請在 [開啟Azure Data Factory Studio] 圖格上選取 [開啟]

    Azure Data Factory 的首頁,具有 [開啟 Azure Data Factory Studio] 圖格。

使用複製資料工具建立管線

  1. 在 Azure Data Factory 首頁上,選取 [擷取] 標題以啟動資料複製工具。

    顯示ADF首頁的螢幕快照。

  2. 在 [屬性] 頁面上,採取下列步驟:

    1. 在 [工作類型] 下方,選擇 [內建複製工作]

    2. 在 [工作步調或工作排程] 下方,選取 [輪轉視窗]

    3. 在 [定期] 下方,輸入 [1 小時]

    4. 選取 [下一步]。

    屬性頁面

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

    a. 選取 [+ 新增連線] 以新增連線。

    b. 從資源庫選取 [Azure Blob 儲存體],然後選取 [繼續]

    c. 在 [新增連線 (Azure Blob 儲存體)] 頁面上,輸入連線的名稱。 選取您的 Azure 訂用帳戶,然後從 [儲存體帳戶名稱] 清單中選取您的儲存體帳戶。 測試 [連線],然後選取 [建立]

    源數據存放區頁面

    d. 在 [來源資料存放區] 頁面上,選取 [連線] 區段中新建立的連線。

    e. 在 [檔案或資料夾] 區段中,瀏覽並選取 [來源] 容器,然後選取 [確定]

    f. 在 [檔案載入行為] 下方,選取 [累加載入:時間分割的資料夾/檔案名稱]

    .g 將動態資料夾路徑寫入為 source/{year}/{month}/{day}/{hour}/,並變更格式,如下列螢幕擷取畫面所示。

    h. 勾選 [二進位副本],然後選取 [下一步]

    顯示 [源數據存放區] 頁面設定的螢幕快照。

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

    1. 選取與資料來源存放區相同儲存體帳戶的 [AzureBlobStorage]

    2. 瀏覽並選取 [目的地] 資料夾,然後選取 [確定]

    3. 將動態資料夾路徑寫入為 destination/{year}/{month}/{day}/{hour}/,並變更格式,如下列螢幕擷取畫面所示。

    4. 選取 [下一步]。

    顯示 [目的地資料存放區] 頁面設定的螢幕快照。

  5. 在 [設定] 頁面上的 [工作名稱] 下方,輸入DeltaCopyFromBlobPipeline,然後選取 [下一步]。 Data Factory 使用者介面會使用指定的工作名稱建立管線。

    顯示設定頁面組態的螢幕快照。

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

    摘要頁面

  7. 部署頁面上選取 [監視] 來監視管線 (工作)。 部署頁面

  8. 請注意,系統會自動選取左側的 [監視] 索引標籤。 當管線觸發時,您需要等待管線執行 (大約一小時後)。 執行時,選取管線名稱連結 DeltaCopyFromBlobPipeline 以檢視活動執行詳細資料或重新執行管線。 選取 [重新整理] 可重新整理清單。

    顯示 [管線執行] 窗格的螢幕快照。

  9. 管線中只有一個活動 (複製活動),所以您只會看到一個項目。 視需要調整 [來源] 和 [目的地] 資料行的資料行寬度,以顯示更多詳細資料,您可以看到來源檔案 (file1.txt) 已從 source/2021/07/15/06/ 複製到 destination/2021/07/15/06/,且具有相同檔案名稱。

    顯示管線執行詳細數據的螢幕快照。

    您也可以使用 Azure 儲存體總管 (https://storageexplorer.com/) 來掃描檔案,以確認檔案名稱相同。

    此螢幕快照顯示目的地的管線執行詳細數據。

  10. 使用新名稱 file2.txt 建立另一個空白文字檔。 將 file2.txt 檔案上傳至儲存體帳戶中的資料夾路徑 source/2021/07/15/07。 您可以使用各種工具來執行這些工作,例如 Azure 儲存體總管

    注意

    您可能會注意到需要建立新的資料夾路徑。 請使用您的 UTC 時間調整資料夾名稱。 例如,如果目前的 UTC 時間為 2021 年 7 月 15 日上午 7:30, 您可以根據 {Year}/{Month}/{Day}/{Hour}/ 的規則,將資料夾路徑建立為 source/2021/07/15/07/

  11. 若要回到 [管線執行] 檢視,請選取 [所有管線執行],然後等待一小時後自動觸發相同的管線。

    顯示 [所有管線執行] 連結以返回該頁面的螢幕快照。

  12. 針對第二個管線執行選取新的 DeltaCopyFromBlobPipeline 連結,然後執行相同的動作以檢閱詳細資料。 您會看到來源檔案 (file2.txt) 已從 source/2021/07/15/07/ 複製到 destination/2021/07/15/07/,具有相同檔案名稱。 您也可以使用 Azure 儲存體總管 (https://storageexplorer.com/) 來掃描 [目的地] 容器中的檔案,以確認檔案名稱相同。

進入下列教學課程,以了解如何在 Azure 上使用 Spark 叢集來轉換資料: