這很重要
除非您的訂用帳戶已啟用,否則無法再建立新的 Azure Data Lake Analytics 帳戶。 如果您需要啟用訂用帳戶,請連絡支持人員 並提供您的商務案例。
如果您已經使用 Azure Data Lake Analytics,您必須在 2024 年 2 月 29 日前,為貴組織建立 azure Synapse Analytics 的 移轉計畫。
在本文中,您將瞭解如何使用 Azure Data Lake Tools for Visual Studio Code (VS Code) 來建立、測試及執行 U-SQL 腳本。 下列影片也會涵蓋此資訊:
先決條件
適用於 VS Code 的 Azure Data Lake Tools 支援 Windows、Linux 和 macOS。 U-SQL 本機執行和本機偵錯只能在 Windows 中運作。
針對 macOS 和 Linux:
安裝 Azure Data Lake Tools
安裝必要條件之後,您可以安裝適用於 VS Code 的 Azure Data Lake Tools。
安裝 Azure Data Lake Tools
開啟 Visual Studio Code。
選取左窗格中的 [ 擴充功能 ]。 在搜尋方塊中輸入 Azure Data Lake Tools 。
選取 [Azure Data Lake Tools] 旁的 [安裝]。
幾秒鐘后,[ 安裝 ] 按鈕會變更為 [重載]。
選取 [重載 ] 以啟用 Azure Data Lake Tools 擴充功能。
選取 [重載視窗 ] 以確認。 您可以在 [延伸模組] 窗格中看到 Azure Data Lake Tools。
啟用 Azure Data Lake Tools
建立 .usql 檔案,或開啟現有的 .usql 檔案以啟動擴展名。
使用 U-SQL
若要使用 U-SQL,您需要開啟 U-SQL 檔案或資料夾。
開啟範例腳本
開啟命令選擇區 (Ctrl+Shift+P),然後輸入 ADL:開啟範例腳本。 它會開啟此範例的另一個實例。 您也可以在此實例上編輯、設定及提交腳本。
開啟 U-SQL 項目的資料夾
從 Visual Studio Code 中,選取 [ 檔案 ] 功能表,然後選取 [ 開啟資料夾]。
指定資料夾,然後選取 [ 選取資料夾]。
選取 [ 檔案] 功能表,然後選取 [ 新增]。 Untitled-1 檔案會新增至專案。
在 Untitled-1 檔案中輸入下列程式代碼:
@departments = SELECT * FROM (VALUES (31, "Sales"), (33, "Engineering"), (34, "Clerical"), (35, "Marketing") ) AS D( DepID, DepName );使用 Outputters.Csv() 輸出 @departments 至 “/Output/departments.csv” :
腳本會建立 departments.csv 檔案,其中包含 /output 資料夾中的某些數據。
將檔案儲存為 myUSQL.usql,在已開啟的資料夾中。
編譯 U-SQL 腳本
- 選取 Ctrl+Shift+P 以開啟命令選擇區。
- 輸入 ADL:編譯腳本。 編譯結果會出現在 [輸出 ] 視窗中。 您也可以以滑鼠右鍵按下腳本檔案,然後選取 [ADL:編譯腳本 ] 以編譯 U-SQL 作業。 編譯結果會出現在 [ 輸出 ] 窗格中。
提交 U-SQL 腳本
- 選取 Ctrl+Shift+P 以開啟命令選擇區。
- 輸入 ADL:Submit Job。 您也可以以滑鼠右鍵按下腳本檔案,然後選取 [ADL:提交作業]。
提交U-SQL作業之後,提交記錄會出現在 VS Code 的 [ 輸出 ] 視窗中。 作業檢視會出現在右窗格中。 如果提交成功,作業 URL 也會顯示。 您可以在網頁瀏覽器中開啟作業 URL,以追蹤即時作業狀態。
在作業檢視的 [ 摘要] 索引標籤上,您可以看到作業詳細數據。 主要函式包括重新提交腳本、複製腳本,以及在入口網站中開啟。 在作業檢視的 [DATA] 索引標籤上,您可以參考輸入檔、輸出檔案和資源檔。 檔案可以下載到本機計算機。
若要設定預設上下文
如果您尚未個別設定檔案的參數,您可以設定預設內容,將此設定套用至所有腳本檔案。
選取 Ctrl+Shift+P 以開啟命令選擇區。
輸入 ADL:設定預設內容。 或以滑鼠右鍵按下腳本編輯器,然後選取 [ADL:設定預設內容]。
選擇您想要的帳戶、資料庫和架構。 此設定會儲存至 xxx_settings.json 組態檔。
設定腳本參數
選取 Ctrl+Shift+P 以開啟命令選擇區。
輸入 ADL:設定文稿參數。
xxx_settings.json 檔案以以下屬性開啟:
- account:Azure 訂用帳戶底下的 Azure Data Lake Analytics 帳戶,這是編譯和執行 U-SQL 作業所需的帳戶。 編譯和執行 U-SQL 作業之前,您需要設定電腦帳戶。
- database:您的帳戶下的資料庫。 預設值為 master。
- schema:資料庫底下的架構。 預設值為 dbo。
-
optionalSettings:
- priority:優先順序範圍從 1 到 1000,1 為最高優先順序。 預設值為 1000。
- degreeOfParallelism:平行度範圍從 1 到 150。 預設值是您在 Azure Data Lake Analytics 帳戶中可允許的最大平行度。
備註
儲存組態之後,如果您沒有設定預設內容,帳戶、資料庫和架構資訊會出現在對應 .usql 檔案左下角的狀態欄上。
若要設定 Git 忽略
選取 Ctrl+Shift+P 以開啟命令選擇區。
輸入 ADL: 設定 Git Ignore。
- 如果您的 VS Code 工作資料夾中沒有 .gitIgnore 檔案,則會在您的資料夾中建立名為 .gitIgnore 的檔案。 預設會在檔案中新增四個專案(usqlCodeBehindReference、 usqlCodeBehindGenerated、 .cache、 obj)。 如有需要,您可以進行更多更新。
- 如果您的 VS Code 工作資料夾中已經有 .gitIgnore 檔案,此工具會在 .gitIgnore 檔案中新增四個專案(usqlCodeBehindReference、usqlCodeBehindGenerated、.cache、obj),如果檔案中未包含這四個專案。
使用程式代碼後置檔案:C Sharp、Python 和 R
Azure Data Lake Tools 支援多個自定義程式碼。 如需指示,請參閱 在 VS Code 中使用 Python、R 和 C Sharp 開發適用於 Azure Data Lake Analytics 的 U-SQL。
使用組件
如需開發元件的資訊,請參閱 開發 Azure Data Lake Analytics 作業的 U-SQL 元件。
您可以使用 Data Lake Tools 在 Data Lake Analytics 目錄中註冊自定義程式碼元件。
若要註冊組件
您可以透過 ADL:Register Assembly 或 ADL: Register Assembly (Advanced) 命令來註冊元件。
若要透過ADL:Register Assembly指令進行註冊
- 選取 Ctrl+Shift+P 以開啟命令選擇區。
- 輸入 ADL:組件註冊。
- 指定本機組件路徑。
- 選取 Data Lake Analytics 帳戶。
- 選取資料庫。
入口網站會在瀏覽器中開啟,並顯示元件註冊程式。
觸發 ADL:註冊元件 命令的更方便方式是在檔案總管中以滑鼠右鍵按兩下 .dll 檔案。
若要透過 ADL: Register Assembly (Advanced) 命令進行註冊
選取 Ctrl+Shift+P 以開啟命令選擇區。
輸入 ADL:登錄組件(進階)。
指定在地組件目錄路徑。
JSON 檔案隨即顯示。 視需要檢閱和編輯元件相依性和資源參數。 指示會顯示在 [ 輸出 ] 視窗中。 若要繼續進行元件註冊,請儲存 JSON 檔案(Ctrl+S)。
備註
- Azure Data Lake Tools 會自動偵測 DLL 是否有任何元件相依性。 偵測到相依性之後會顯示在 JSON 檔案中。
- 您可以上傳 DLL 資源(例如,.txt、.png和 .csv),作為元件註冊的一部分。
另一個觸發 ADL: Register Assembly (Advanced) 命令的方法,是在 [檔案總管] 中以滑鼠右鍵按兩下 .dll 檔案。
下列 U-SQL 程式碼示範如何呼叫組件。 在範例中,元件名稱是 測試。
REFERENCE ASSEMBLY [test];
@a =
EXTRACT
Iid int,
Starts DateTime,
Region string,
Query string,
DwellTime int,
Results string,
ClickedUrls string
FROM @"Sample/SearchLog.txt"
USING Extractors.Tsv();
@d =
SELECT DISTINCT Region
FROM @a;
@d1 =
PROCESS @d
PRODUCE
Region string,
Mkt string
USING new USQLApplication_codebehind.MyProcessor();
OUTPUT @d1
TO @"Sample/SearchLogtest.txt"
USING Outputters.Tsv();
Windows 使用者可使用 U-SQL 進行本機執行及本機偵錯
U-SQL 本機執行會先測試本機數據,並在本機驗證腳本,再將程式代碼發佈至 Data Lake Analytics。 您可以在將程式代碼提交至 Data Lake Analytics 之前,使用本機偵錯功能完成下列工作:
- 偵錯您的 C# 後端程式碼。
- 逐步執行程式碼。
- 在本機驗證您的腳本。
本機執行和本機偵錯功能僅適用於 Windows 環境,且不支援 macOS 和 Linux作系統。
如需本機執行和本機偵錯的指示,請參閱 使用Visual Studio Code 執行 U-SQL 本機執行和本機偵錯。
連線到 Azure
您必須先連線到 Azure 帳戶,才能在 Data Lake Analytics 中編譯和執行 U-SQL 腳本。
使用命令來連線到 Azure
選取 Ctrl+Shift+P 以開啟命令選擇區。
輸入 ADL:Login。 登入資訊會出現在右下角。
選取 [複製與開啟 ] 以開啟 登入網頁。 將程式代碼貼到方塊中,然後選取 [ 繼續]。
請依照指示從網頁登入。 連線時,您的 Azure 帳戶名稱會出現在 VS Code 視窗左下角的狀態列上。
備註
- 如果您未註銷,Data Lake Tools 會在下次自動將您登入。
- 如果您的帳戶已啟用兩個因素,建議您使用手機驗證,而不是使用 PIN。
若要註銷,請輸入 ADL:註銷命令。
從總管連線到 Azure
展開 [AZURE DATALAKE],選取 [ 登入 Azure],然後遵循使用 命令連線至 Azure 的步驟 3 和步驟 4。
您無法從檔案總管登出。 若要註銷,請參閱 使用 命令連線到 Azure。
建立擷取腳本
您可以使用 ADL:建立 EXTRACT 腳本 指令,或從 Azure Data Lake 總管建立 .csv、.tsv 和 .txt 檔案的擷取腳本。
要使用命令建立提取腳本
- 選取 Ctrl+Shift+P 以開啟命令選擇區,然後輸入 ADL:Create EXTRACT Script。
- 指定 Azure 記憶體檔案的完整路徑,然後選取 Enter 鍵。
- 選取一個帳戶。
- 針對 .txt 檔案,選取分隔符以擷取檔案。
擷取腳本會根據您的項目產生。 對於無法偵測數據行的腳本,請從兩個選項中選擇一個。 如果沒有,則只會產生一個腳本。
從檔案總管建立擷取腳本
另一個建立擷取腳本的方法,是透過 Azure Data Lake Store 或 Azure Blob 儲存中的 .csv、.tsv 或 .txt 檔案的右鍵選單(快捷功能表)。
後續步驟
- 在 VS Code 中使用適用於 Azure Data Lake Analytics 的 Python、R 和 C Sharp 開發 U-SQL
- 使用 Visual Studio Code 進行 U-SQL 的本機執行和偵錯
- 教學課程:開始使用 Azure Data Lake Analytics
- 教學課程:使用 Data Lake Tools for Visual Studio 開發 U-SQL 腳本