在本教程中,你將了解如何執行以下操作:
以下示例運行一個 Python 腳本,該腳本從 Blob 存儲容器接收 CSV 輸入,執行數據處理過程,並將輸出寫入到單獨的 Blob 存儲容器。
如果還沒有 Azure 訂閱,可以在開始前創建一個免費帳戶。
pip
包。通過 https://portal.azure.com 登錄到 Azure 門戶。
就此示例來說,需為 Batch 帳戶和存儲帳戶提供憑據。 若要獲取所需憑據,一種直接的方法是使用 Azure 門戶。 (也可使用 Azure API 或命令行工具來獲取這些憑據。)
選擇“所有服務”>“Batch 帳戶”,然後選擇 Batch 帳戶的名稱。
若要查看 Batch 憑據,請選擇“密鑰”。 將“Batch 帳戶”、“URL”和“主訪問密鑰”的值復制到文本編輯器。
若要查看存儲帳戶名稱和密鑰,請選擇“存儲帳戶”。 將“存儲帳戶名稱”和“Key1”的值復制到文本編輯器。
在本部分,你將通過 Batch Explorer 創建 Azure 數據工廠管道要使用的 Batch 池。
custom-activity-pool
。Standard_f2s_v2
作為虛擬機大小。cmd /c "pip install azure-storage-blob pandas"
。 用戶標識可以保留為默認的“池用戶”。此處將創建 Blob 容器,用於存儲 OCR 批處理作業的輸入和輸出文件。
input
和輸出容器 output
。input
以下 Python 腳本從 input
容器加載 iris.csv
數據集,執行數據處理過程,並將結果保存回到 output
容器。
Python復制
# Load libraries
from azure.storage.blob import BlobClient
import pandas as pd
# Define parameters
connectionString = "<storage-account-connection-string>"
containerName = "output"
outputBlobName = "iris_setosa.csv"
# Establish connection with the blob storage account
blob = BlobClient.from_connection_string(conn_str=connectionString, container_name=containerName, blob_name=outputBlobName)
# Load iris dataset from the task node
df = pd.read_csv("iris.csv")
# Take a subset of the records
df = df[df['Species'] == "setosa"]
# Save the subset of the iris dataframe locally in task node
df.to_csv(outputBlobName, index = False)
with open(outputBlobName, "rb") as data:
blob.upload_blob(data)
將該腳本另存為 main.py
,並將其上傳到 Azure 存儲 input
容器。 在將其上傳到 Blob 容器之前,請務必在本地測試並驗證其功能:
Bash復制
python main.py
在本部分,你將使用 Python 腳本創建並驗證一個管道。
遵循此文的“創建數據工廠”部分中的步驟創建一個數據工廠。
在“工廠資源”框中選擇“+”(加號)按鈕,然後選擇“管道”
在“常規”選項卡中,將管道名稱設置為“運行 Python”
在“活動”框中展開“Batch 服務”。 將“活動”工具箱中的自定義活動拖到管道設計器圖面。 為自定義活動填寫以下選項卡:
在“常規”選項卡中,指定“testPipeline”作為名稱
在“Azure Batch”選項卡中,添加在前面步驟中創建的 Batch 帳戶,然後選擇“測試連接”以確保連接成功 。
在“設置”選項卡中:
python main.py
。在畫布上面的管道工具欄中單擊“驗證”,以便驗證管道設置。 確認已成功驗證管道。 若要關閉驗證輸出,請選擇 >>(右箭頭)按鈕。
單擊“調試”以測試管道,確保管道正常運行。
單擊“發布”以發布管道。
單擊“觸發”,以便在批處理過程中運行 Python 腳本。
如果執行腳本時生成了警告或錯誤,可以查看 stdout.txt
或 stderr.txt
獲取有關記錄的輸出的詳細信息。
custom-activity-pool
,請選擇 adfv2-custom-activity-pool
。stdout.txt
和 stderr.txt
以調查和診斷問題。雖然作業和任務本身不收費,但計算節點收費。 因此,建議只在需要的時候分配池。 刪除池時會刪除節點上的所有任務輸出。 但是,輸入和輸出文件保留在存儲帳戶中。 當不再需要時,還可以刪除 Batch 帳戶和存儲帳戶。
在本教程中,你了解了如何執行以下操作:
若要詳細了解 Azure 數據工廠,請參閱:
Azure 數據工廠概述
使用數據工廠將數據從 Azure Blob 存儲中的一個位置復制到另一位置。
了解可與 Azure 數據工廠和 Synapse Analytics 管道(例如 Azure HDInsight)配合使用來轉換或處理數據的計算環境。
了解如何對 Azure 數據工廠和 Azure Synapse Analytics 管道中的外部控制活動進行故障排除。
了解如何使用 .NET 創建自定義活動,然後在 Azure 數據工廠或 Azure Synapse Analytics 管道中使用這些活動。
顯示更多
本文內容
顯示更多
中文 (簡體)
主題