Kurz: spouštění skriptů Pythonu pomocí Azure Data Factory pomocí Azure Batch

V tomto kurzu se naučíte:

  • Ověření pomocí účtů Batch a Storage
  • Vývoj a spouštění skriptu v Pythonu
  • Vytvoření fondu výpočetních uzlů pro spouštění aplikace
  • Plánování úloh v Pythonu
  • Monitorování kanálu analýz
  • Přístup k protokolům protokolů

Následující příklad spustí skript Pythonu, který přijímá vstup sdíleného svazku clusteru z kontejneru úložiště objektů blob, provádí proces manipulace s daty a zapisuje výstup do samostatného kontejneru úložiště objektů BLOB.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

Požadavky

Přihlášení k Azure

Přihlaste se k webu Azure Portal na adrese https://portal.azure.com.

Získání přihlašovacích údajů k účtu

V tomto příkladu musíte zadat přihlašovací údaje pro účty služeb Batch a Storage. Na webu Azure Portal je snadný způsob, jak získat potřebné přihlašovací údaje. (Tyto přihlašovací údaje můžete také získat pomocí rozhraní API Azure nebo nástrojů příkazového řádku.)

  1. Vyberte všechny služby > Batch účty a potom vyberte název účtu Batch.

  2. Pokud chcete zobrazit přihlašovací údaje dávky, vyberte klíče. Zkopíruje hodnoty Účet Batch, URL a Primární přístupová klíč do textového editoru.

  3. Pokud chcete zobrazit název a klíče účtu úložiště, vyberte účet úložiště. Zkopírujte hodnoty Název účtu úložiště a Klíč1 do textového editoru.

Vytvoření fondu Batch pomocí Batch Explorer

V této části použijete Batch Explorer k vytvoření fondu služby Batch, který bude používat váš kanál Azure Data Factory.

  1. Přihlaste se k Batch Explorer pomocí svých přihlašovacích údajů Azure.
  2. Vyberte účet Batch.
  3. Vytvořte fond tak, že na levé straně vyberete fondy a pak tlačítko Přidat nad formulář pro hledání.
    1. Vyberte ID a zobrazované jméno. custom-activity-poolV tomto příkladu budeme používat.
    2. Nastavte typ škálování na pevnou velikost a nastavte počet vyhrazených uzlů na 2.
    3. V oblasti datové vědy vyberte jako operační systém možnost Dsvm Windows .
    4. Vyberte Standard_f2s_v2 Velikost virtuálního počítače.
    5. Povolte spouštěcí úkol a přidejte příkaz cmd /c "pip install azure-storage-blob pandas" . Identita uživatele může zůstat stejná jako uživatel s výchozím fondem.
    6. Vyberte OK.

Vytváření kontejnerů objektů BLOB

Tady vytvoříte kontejnery objektů blob, které budou ukládat vstupní a výstupní soubory pro dávkovou úlohu OCR.

  1. Přihlaste se k Průzkumník služby Storage pomocí svých přihlašovacích údajů Azure.
  2. Pomocí účtu úložiště propojeného s účtem Batch vytvořte dva kontejnery objektů BLOB (jeden pro vstupní soubory, jeden pro výstupní soubory) podle kroků v části vytvoření kontejneru objektů BLOB.
    • V tomto příkladu budeme volat náš vstupní kontejner input a náš výstupní kontejner output .
  3. Nahrajte iris.csv do vstupního kontejneru input pomocí Průzkumník služby Storage podle kroků v části Správa objektů BLOB v kontejneru objektů BLOB .

Vývoj skriptu v Pythonu

Následující skript Pythonu načte iris.csv datovou sadu z vašeho input kontejneru, provede proces manipulace s daty a výsledky uloží zpátky do output kontejneru.

# 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)

Uložte skript jako main.py a nahrajte ho do kontejneru Azure Storage input . Před nahráním do kontejneru objektů BLOB Nezapomeňte otestovat a ověřit jeho funkčnost místně:

python main.py

Nastavení kanálu Azure Data Factory

V této části vytvoříte a ověříte kanál pomocí skriptu Pythonu.

  1. Podle pokynů v části Vytvoření datové továrny v tomto článkuVytvořte datovou továrnu.

  2. V poli prostředky továrny vyberte tlačítko + (plus) a pak vyberte kanál .

  3. Na kartě Obecné nastavte název kanálu jako "Run Python".

    Na kartě Obecné nastavte název kanálu jako "Run Python".

  4. V poli aktivity rozbalte položku Služba Batch. Přetáhněte vlastní aktivitu z panelu nástrojů aktivity na plochu návrháře kanálu. Pro vlastní aktivitu vyplňte následující karty:

    1. Na kartě Obecné zadejte testPipeline pro název  na kartě Obecné zadejte testPipeline pro název.

    2. Na kartě Azure Batch přidejte účet Batch , který byl vytvořen v předchozích krocích, a otestujte připojení , aby bylo zajištěno, že je úspěšné. Na kartě Azure Batch přidejte účet Batch, který jste vytvořili v předchozích krocích, a pak otestujte připojení.

    3. Na kartě Nastavení :

      1. Nastavte příkaz jako python main.py .
      2. Pro propojenou službu prostředku přidejte účet úložiště, který jste vytvořili v předchozích krocích. Otestujte připojení, abyste zajistili jeho úspěšnost.
      3. V cestě ke složce vyberte název kontejneru Azure Blob Storage , který obsahuje skript Pythonu a související vstupy. Tím se stáhnou vybrané soubory z kontejneru do instancí uzlů fondu před spuštěním skriptu Pythonu.

      V cestě ke složce vyberte název kontejneru Azure Blob Storage.

  5. Kliknutím na Ověřit na panelu nástrojů kanálu nad plátnem ověřte nastavení kanálu. Ověřte úspěšné ověření kanálu. Pokud chcete zavřít výstup ověřování, vyberte tlačítko >> (šipky doprava).

  6. Kliknutím na ladit otestujete kanál a ujistěte se, že funguje správně.

  7. Kliknutím na publikovat publikujte kanál.

  8. Kliknutím na Trigger (aktivovat ) spustíte skript Pythonu jako součást dávkového procesu.

    Klikněte na Trigger a spusťte skript Pythonu jako součást dávkového procesu.

Monitorování souborů protokolu

V případě, že se při spuštění skriptu vygenerovala upozornění nebo chyby, můžete se podívat stdout.txt stderr.txt na Další informace o zaznamenání výstupu.

  1. Vyberte úlohy na levé straně Batch Explorer.
  2. Vyberte úlohu vytvořenou datovou továrnou. Za předpokladu, že jste svůj fond najmenovali custom-activity-pool , vyberte adfv2-custom-activity-pool .
  3. Klikněte na úlohu, u které došlo k chybě ukončovacího kódu.
  4. Prohlédněte si stdout.txt a stderr.txt Prozkoumejte a Diagnostikujte svůj problém.

Vyčištění prostředků

I když se vám neúčtují poplatky za úlohy a úkoly jako takové, účtují se vám poplatky za výpočetní uzly. Proto doporučujeme, abyste fondy přidělovali, jen když je to potřeba. Při odstranění fondu se odstraní veškeré výstupy úkolů v uzlech. Vstupní a výstupní soubory však zůstanou v účtu úložiště. Pokud už je nepotřebujete, můžete také odstranit účet Batch a účet úložiště.

Další kroky

V tomto kurzu jste se naučili:

  • Ověření pomocí účtů Batch a Storage
  • Vývoj a spouštění skriptu v Pythonu
  • Vytvoření fondu výpočetních uzlů pro spouštění aplikace
  • Plánování úloh v Pythonu
  • Monitorování kanálu analýz
  • Přístup k protokolům protokolů

Další informace o Azure Data Factory najdete v těchto tématech: