共用方式為


使用 SQL Server Integration Services (SSIS) 排程 U-SQL 作業

在本檔中,您將瞭解如何使用 SQL Server Integration Service (SSIS) 協調及建立 U-SQL 作業。

這很重要

Azure Data Lake Analytics 於 2024 年 2 月 29 日淘汰。 透過此公告深入瞭解。

針對數據分析,您的組織可以使用 Azure Synapse AnalyticsMicrosoft Fabric

先決條件

Azure Feature Pack for Integration Services 提供 Azure Data Lake Analytics 工作 和協助連接至 Azure Data Lake Analytics 服務的 Azure Data Lake Analytics 連接管理器。 若要使用此任務,請確定您已安裝:

Azure Data Lake Analytics 任務

Azure Data Lake Analytics 工作可讓使用者將 U-SQL 作業提交至 Azure Data Lake Analytics 帳戶。

瞭解如何設定 Azure Data Lake Analytics 工作

SSIS 中的 Azure Data Lake Analytics 工作任務

您可以使用 SSIS 內建函式和工作,從不同位置取得 U-SQL 腳本,下列案例示範如何為不同的使用者案例設定 U-SQL 腳本。

案例 1-使用嵌入式腳本呼叫 tvfs 和預存程序

在 Azure Data Lake Analytics 工作編輯器中,將 SourceType 設定為 DirectInput,並將 U-SQL 語句放入 USQLStatement

為了方便維護和程式代碼管理,只需將簡短的 U-SQL 腳本放入內嵌腳本,例如,您可以在 U-SQL 資料庫中呼叫現有的數據表值函式和預存程式。

SSIS 工作中編輯內嵌 U-SQL 腳本

相關文章: 如何將參數傳遞至預存程式

案例 2-在 Azure Data Lake Store 中使用 U-SQL 檔案

您也可以在 Azure Data Lake Store 中使用 U-SQL 檔案,方法是利用 Azure Feature Pack 中的 Azure Data Lake Store File System Task。 此方法可讓您使用儲存在雲端上的腳本。

請遵循下列步驟來設定 Azure Data Lake Store 文件系統工作與 Azure Data Lake Analytics 工作之間的連線。

設定工作控制流程

在 SSIS 套件設計檢視中,新增一個 Azure Data Lake Store 檔案系統工作、一個 Foreach 迴圈容器,以及在 Foreach 迴圈容器中新增一個 Azure Data Lake Analytics 工作。 Azure Data Lake Store 檔案系統工作有助於將 ADLS 帳戶中的 U-SQL 檔案下載到暫存資料夾。 Foreach 迴圈容器和 Azure Data Lake Analytics 工作可協助將暫存資料夾下的每個 U-SQL 檔案提交至 Azure Data Lake Analytics 帳戶做為 U-SQL 作業。

圖表,顯示一個 Azure Data Lake Store 檔案系統工作被新增到 Foreach 迴圈容器中的情況。

設定 Azure Data Lake Store 檔案系統工作

  1. 作業 設定為 CopyFromADLS
  2. 設定 AzureDataLakeConnection,深入瞭解 Azure Data Lake Store 連接管理員
  3. 設定 AzureDataLakeDirectory。 指向儲存 U-SQL 腳本的資料夾。 使用相對於 Azure Data Lake Store 帳戶根資料夾的相對路徑。
  4. 目的地 設定為快取所下載 U-SQL 腳本的資料夾。 此資料夾路徑將用於 Foreach 循環容器以進行 U-SQL 作業提交。

配置 Azure Data Lake Store 文件系統任務

深入瞭解 Azure Data Lake Store 文件系統工作

設定 Foreach 循環容器

  1. 集合頁面中,將列舉器設定為Foreach 檔案列舉器

  2. [列舉值組態群組] 底下的 [資料夾] 設定為包含所下載 U-SQL 腳本的暫存資料夾。

  3. [列舉值組態] 下的 [檔案] 設定為 *.usql ,讓迴圈容器只攔截結尾為 的.usql檔案。

    螢幕快照顯示已選取 [Collection] 的 Foreach 循環編輯器,並突顯列舉值和列舉值組態區段。

  4. [變數對應 ] 頁面中,新增使用者定義的變數,以取得每個 U-SQL 檔案的檔名。 將 [索引 ] 設定為0以取得檔名。 在此範例中,定義名為 User::FileName的變數。 此變數將用來動態取得U-SQL腳本檔案連線,並在 Azure Data Lake Analytics 工作中設定 U-SQL 作業名稱。

    設定 Foreach 循環容器以取得檔名

設定 Azure Data Lake Analytics 工作

  1. SourceType 設定為 FileConnection

  2. FileConnection 設定為指向 Foreach 循環容器所傳回之檔案物件的檔案連接。

    若要建立此檔案連線:

    1. 在 [檔案][連線] 設定中選擇 [ <新增連線...> ]。

    2. [使用類型 ] 設定為 [現有檔案],並將 [ 檔案 ] 設定為任何現有檔案的檔案路徑。

      顯示 [檔案連接管理員編輯器] 的螢幕快照,[使用類型] 選取為 [現有檔案]。

    3. 在 [連接管理器] 檢視中,以滑鼠右鍵按建立的檔案連接上,然後選擇 [屬性]

    4. 在 [ 屬性] 視窗中,展開 [表達式],然後將 ConnectionString 設定為 Foreach 迴圈容器中定義的變數,例如 @[User::FileName]

      配置 Foreach 循環容器

  3. AzureDataLakeAnalyticsConnection 設定為您想要提交作業的 Azure Data Lake Analytics 帳戶。 深入瞭解 Azure Data Lake Analytics 連接管理器

  4. 設定其他作業組態。 深入瞭解

  5. 使用 表示式 來動態設定 U-SQL 作業名稱:

    1. [表達式] 頁面中,為 JobName 新增運算式索引鍵/值組。

    2. 將 JobName 的值設定為 Foreach 循環容器中定義的變數,例如,@[User::FileName]

      設定 U-SQL 作業名稱的 SSIS 表達式

案例 3-在 Azure Blob 記憶體中使用 U-SQL 檔案

您可以使用 Azure Feature Pack 中的 Azure Blob 下載工作,在 Azure Blob 儲存體中使用 U-SQL 檔案。 此方法可讓您在雲端上使用腳本。

步驟與 案例 2 類似:在 Azure Data Lake Store 中使用 U-SQL 檔案。 將 Azure Data Lake Store 檔案系統工作變更為 Azure Blob 下載工作。 深入瞭解 Azure Blob 下載任務

控制流程如下所示:

在 Azure Data Lake Store 中使用 U-SQL 檔案

案例 4-在本機計算機上使用 U-SQL 檔案

除了使用儲存在雲端上的 U-SQL 檔案之外,您也可以在本機電腦上使用檔案,或搭配 SSIS 套件部署的檔案。

  1. 以滑鼠右鍵按兩下 SSIS 專案中的 [連接管理器 ],然後選擇 [ 新增連接管理器]。

  2. 選取 [檔案] 類型,然後選取 [新增...]。

  3. [使用類型 ] 設定為 [現有檔案],並將 [ 檔案 ] 設定為本機計算機上的檔案。

    將檔案連線新增至本機檔案

  4. 新增 Azure Data Lake Analytics 工作以及:

    1. SourceType 設定為 FileConnection
    2. FileConnection 設定為所建立的檔案連線。
  5. 完成 Azure Data Lake Analytics 工作的其他設定。

案例 5-在 SSIS 變數中使用 U-SQL 語句

在某些情況下,您可能需要動態產生U-SQL 語句。 您可以使用 SSIS 變數 搭配 SSIS 運算式 和其他 SSIS 任務,例如腳本任務,以動態方式產生 U-SQL 語句。

  1. 透過 SSIS > [變數] 最上層選單開啟 [變數] 工具視窗。

  2. 新增 SSIS 變數,並直接設定值,或使用 Expression 來產生值。

  3. 添加 Azure Data Lake Analytics 工作 和:

    1. SourceType 設定為 Variable
    2. 將 sourceVariable 設定為現在建立的 SSIS 變數。
  4. 完成 Azure Data Lake Analytics 工作的其他設定。

情境 6 - 傳遞參數至 U-SQL 腳本

在某些情況下,您可能想要在U-SQL 腳本中動態設定U-SQL 變數值。 Azure Data Lake Analytics 任務中的 參數對應 功能可以幫助您應對這種情況。 通常有兩個典型的使用者案例:

  • 根據目前的日期和時間動態設定輸入和輸出檔案路徑變數。
  • 設定預存程序的 參數。

深入瞭解如何設定 U-SQL 腳本的參數

後續步驟