在本檔中,您將瞭解如何使用 SQL Server Integration Service (SSIS) 協調及建立 U-SQL 作業。
這很重要
Azure Data Lake Analytics 於 2024 年 2 月 29 日淘汰。 透過此公告深入瞭解。
針對數據分析,您的組織可以使用 Azure Synapse Analytics 或 Microsoft 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 工作。
中的 Azure Data Lake Analytics 工作任務
您可以使用 SSIS 內建函式和工作,從不同位置取得 U-SQL 腳本,下列案例示範如何為不同的使用者案例設定 U-SQL 腳本。
案例 1-使用嵌入式腳本呼叫 tvfs 和預存程序
在 Azure Data Lake Analytics 工作編輯器中,將 SourceType 設定為 DirectInput,並將 U-SQL 語句放入 USQLStatement。
為了方便維護和程式代碼管理,只需將簡短的 U-SQL 腳本放入內嵌腳本,例如,您可以在 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 檔案系統工作
- 將 作業 設定為 CopyFromADLS。
- 設定 AzureDataLakeConnection,深入瞭解 Azure Data Lake Store 連接管理員 。
- 設定 AzureDataLakeDirectory。 指向儲存 U-SQL 腳本的資料夾。 使用相對於 Azure Data Lake Store 帳戶根資料夾的相對路徑。
- 將 目的地 設定為快取所下載 U-SQL 腳本的資料夾。 此資料夾路徑將用於 Foreach 循環容器以進行 U-SQL 作業提交。
深入瞭解 Azure Data Lake Store 文件系統工作。
設定 Foreach 循環容器
在集合頁面中,將列舉器設定為Foreach 檔案列舉器。
將 [列舉值組態群組] 底下的 [資料夾] 設定為包含所下載 U-SQL 腳本的暫存資料夾。
將 [列舉值組態] 下的 [檔案] 設定為
*.usql
,讓迴圈容器只攔截結尾為 的.usql
檔案。在 [變數對應 ] 頁面中,新增使用者定義的變數,以取得每個 U-SQL 檔案的檔名。 將 [索引 ] 設定為0以取得檔名。 在此範例中,定義名為
User::FileName
的變數。 此變數將用來動態取得U-SQL腳本檔案連線,並在 Azure Data Lake Analytics 工作中設定 U-SQL 作業名稱。
設定 Azure Data Lake Analytics 工作
將 SourceType 設定為 FileConnection。
將 FileConnection 設定為指向 Foreach 循環容器所傳回之檔案物件的檔案連接。
若要建立此檔案連線:
在 [檔案][連線] 設定中選擇 [ <新增連線...> ]。
將 [使用類型 ] 設定為 [現有檔案],並將 [ 檔案 ] 設定為任何現有檔案的檔案路徑。
在 [連接管理器] 檢視中,以滑鼠右鍵按建立的檔案連接上,然後選擇 [屬性] 。
在 [ 屬性] 視窗中,展開 [表達式],然後將 ConnectionString 設定為 Foreach 迴圈容器中定義的變數,例如
@[User::FileName]
。
將 AzureDataLakeAnalyticsConnection 設定為您想要提交作業的 Azure Data Lake Analytics 帳戶。 深入瞭解 Azure Data Lake Analytics 連接管理器。
設定其他作業組態。 深入瞭解。
使用 表示式 來動態設定 U-SQL 作業名稱:
在 [表達式] 頁面中,為 JobName 新增運算式索引鍵/值組。
將 JobName 的值設定為 Foreach 循環容器中定義的變數,例如,
@[User::FileName]
。
案例 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 下載任務。
控制流程如下所示:
案例 4-在本機計算機上使用 U-SQL 檔案
除了使用儲存在雲端上的 U-SQL 檔案之外,您也可以在本機電腦上使用檔案,或搭配 SSIS 套件部署的檔案。
以滑鼠右鍵按兩下 SSIS 專案中的 [連接管理器 ],然後選擇 [ 新增連接管理器]。
選取 [檔案] 類型,然後選取 [新增...]。
將 [使用類型 ] 設定為 [現有檔案],並將 [ 檔案 ] 設定為本機計算機上的檔案。
新增 Azure Data Lake Analytics 工作以及:
- 將 SourceType 設定為 FileConnection。
- 將 FileConnection 設定為所建立的檔案連線。
完成 Azure Data Lake Analytics 工作的其他設定。
案例 5-在 SSIS 變數中使用 U-SQL 語句
在某些情況下,您可能需要動態產生U-SQL 語句。 您可以使用 SSIS 變數 搭配 SSIS 運算式 和其他 SSIS 任務,例如腳本任務,以動態方式產生 U-SQL 語句。
透過 SSIS > [變數] 最上層選單開啟 [變數] 工具視窗。
新增 SSIS 變數,並直接設定值,或使用 Expression 來產生值。
添加 Azure Data Lake Analytics 工作 和:
- 將 SourceType 設定為 Variable。
- 將 sourceVariable 設定為現在建立的 SSIS 變數。
完成 Azure Data Lake Analytics 工作的其他設定。
情境 6 - 傳遞參數至 U-SQL 腳本
在某些情況下,您可能想要在U-SQL 腳本中動態設定U-SQL 變數值。 Azure Data Lake Analytics 任務中的 參數對應 功能可以幫助您應對這種情況。 通常有兩個典型的使用者案例:
- 根據目前的日期和時間動態設定輸入和輸出檔案路徑變數。
- 設定預存程序的 參數。