程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

使用 Azure Batch 通過 Azure 數據工廠運行 Python 腳本

編輯:Python

在本教程中,你將了解如何執行以下操作:

  • 通過 Batch 和存儲帳戶進行身份驗證
  • 在 Python 中開發和運行腳本
  • 創建運行應用程序所需的計算節點池
  • 計劃 Python 工作負荷
  • 監視分析管道
  • 訪問日志文件

以下示例運行一個 Python 腳本,該腳本從 Blob 存儲容器接收 CSV 輸入,執行數據處理過程,並將輸出寫入到單獨的 Blob 存儲容器。

如果還沒有 Azure 訂閱,可以在開始前創建一個免費帳戶。

先決條件

  • 已安裝一個 Python 分發版用於本地測試。
  • azure-storage-blobpip 包。
  • iris.csv 數據集
  • Azure Batch 帳戶和關聯的 Azure 存儲帳戶。 有關如何創建 Batch 帳戶並將其鏈接到存儲帳戶的詳細信息,請參閱創建 Batch 帳戶。
  • 一個 Azure 數據工廠帳戶。 有關如何通過 Azure 門戶創建數據工廠的詳細信息,請參閱創建數據工廠。
  • Batch Explorer。
  • Azure 存儲資源管理器。

登錄 Azure

通過 https://portal.azure.com 登錄到 Azure 門戶。

獲取帳戶憑據

就此示例來說,需為 Batch 帳戶和存儲帳戶提供憑據。 若要獲取所需憑據,一種直接的方法是使用 Azure 門戶。 (也可使用 Azure API 或命令行工具來獲取這些憑據。)

  1. 選擇“所有服務”>“Batch 帳戶”,然後選擇 Batch 帳戶的名稱。

  2. 若要查看 Batch 憑據,請選擇“密鑰”。 將“Batch 帳戶”、“URL”和“主訪問密鑰”的值復制到文本編輯器。

  3. 若要查看存儲帳戶名稱和密鑰,請選擇“存儲帳戶”。 將“存儲帳戶名稱”和“Key1”的值復制到文本編輯器。

使用 Batch Explorer 創建 Batch 池

在本部分,你將通過 Batch Explorer 創建 Azure 數據工廠管道要使用的 Batch 池。

  1. 使用 Azure 憑據登錄到 Batch Explorer。
  2. 選擇你的 Batch 帳戶
  3. 選擇左側欄上的“池”來創建池,然後選擇搜索窗體上方的“添加”按鈕 。
    1. 選擇 ID 和顯示名稱。 本示例使用 custom-activity-pool
    2. 將規模類型為“固定大小”,將專用節點計數設置為 2。
    3. 在“數據科學”下,選擇“Dsvm Windows”作為操作系統。
    4. 選擇 Standard_f2s_v2 作為虛擬機大小。
    5. 啟用啟動任務,並添加命令 cmd /c "pip install azure-storage-blob pandas"。 用戶標識可以保留為默認的“池用戶”。
    6. 選擇“確定”。

創建 Blob 容器

此處將創建 Blob 容器,用於存儲 OCR 批處理作業的輸入和輸出文件。

  1. 使用 Azure 憑據登錄到存儲資源管理器。
  2. 使用鏈接到批處理帳戶的存儲帳戶,按照創建 Blob 容器的步驟創建兩個 Blob 容器(一個用於輸入文件,一個用於輸出文件)。
    • 在本例中,我們將調用輸入容器 input 和輸出容器 output
  3. 通過按照管理 Blob 容器中的 Blob 中的步驟操作,使用存儲資源管理器將 iris.csv 上傳到輸入容器 input

在 Python 中開發腳本

以下 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

設置 Azure 數據工廠管道

在本部分,你將使用 Python 腳本創建並驗證一個管道。

  1. 遵循此文的“創建數據工廠”部分中的步驟創建一個數據工廠。

  2. 在“工廠資源”框中選擇“+”(加號)按鈕,然後選擇“管道”

  3. 在“常規”選項卡中,將管道名稱設置為“運行 Python”

  4. 在“活動”框中展開“Batch 服務”。 將“活動”工具箱中的自定義活動拖到管道設計器圖面。 為自定義活動填寫以下選項卡:

    1. 在“常規”選項卡中,指定“testPipeline”作為名稱 

    2. 在“Azure Batch”選項卡中,添加在前面步驟中創建的 Batch 帳戶,然後選擇“測試連接”以確保連接成功 。 

    3. 在“設置”選項卡中:

      1. 將“命令”設置為 python main.py
      2. 對於“資源鏈接服務”,請添加在前面步驟中創建的存儲帳戶。 測試連接以確保連接成功。
      3. 在“文件夾路徑”中,選擇包含 Python 腳本和關聯輸入的“Azure Blob 存儲”容器的名稱。 這會在執行 Python 腳本之前,將所選文件從該容器下載到池節點實例。

  5. 在畫布上面的管道工具欄中單擊“驗證”,以便驗證管道設置。 確認已成功驗證管道。 若要關閉驗證輸出,請選擇 >>(右箭頭)按鈕。

  6. 單擊“調試”以測試管道,確保管道正常運行。

  7. 單擊“發布”以發布管道。

  8. 單擊“觸發”,以便在批處理過程中運行 Python 腳本。

監視日志文件

如果執行腳本時生成了警告或錯誤,可以查看 stdout.txt 或 stderr.txt 獲取有關記錄的輸出的詳細信息。

  1. 在 Batch Explorer 的左側選擇“作業”。
  2. 選擇數據工廠創建的作業。 假設池命名為 custom-activity-pool,請選擇 adfv2-custom-activity-pool
  3. 單擊具有失敗退出代碼的任務。
  4. 查看 stdout.txt 和 stderr.txt 以調查和診斷問題。

清理資源

雖然作業和任務本身不收費,但計算節點收費。 因此,建議只在需要的時候分配池。 刪除池時會刪除節點上的所有任務輸出。 但是,輸入和輸出文件保留在存儲帳戶中。 當不再需要時,還可以刪除 Batch 帳戶和存儲帳戶。

後續步驟

在本教程中,你了解了如何執行以下操作:

  • 通過 Batch 和存儲帳戶進行身份驗證
  • 在 Python 中開發和運行腳本
  • 創建運行應用程序所需的計算節點池
  • 計劃 Python 工作負荷
  • 監視分析管道
  • 訪問日志文件

若要詳細了解 Azure 數據工廠,請參閱:

Azure 數據工廠概述


  • 快速入門:使用 Python 創建 Azure 數據工廠 - Azure Data Factory

    使用數據工廠將數據從 Azure Blob 存儲中的一個位置復制到另一位置。

  • 計算環境 - Azure Data Factory & Azure Synapse

    了解可與 Azure 數據工廠和 Synapse Analytics 管道(例如 Azure HDInsight)配合使用來轉換或處理數據的計算環境。

  • 常規故障排除 - Azure Data Factory & Azure Synapse

    了解如何對 Azure 數據工廠和 Azure Synapse Analytics 管道中的外部控制活動進行故障排除。

  • 在管道中使用自定義活動 - Azure Data Factory & Azure Synapse

    了解如何使用 .NET 創建自定義活動,然後在 Azure 數據工廠或 Azure Synapse Analytics 管道中使用這些活動。

顯示更多

本文內容

  • 先決條件
  • 登錄 Azure
  • 獲取帳戶憑據
  • 使用 Batch Explorer 創建 Batch 池

顯示更多

中文 (簡體)

主題


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved