Kurz: Spuštění úlohy Batch prostřednictvím služby Data Factory pomocí Batch Exploreru, Průzkumník služby Storage a Pythonu

Tento kurz vás provede vytvořením a spuštěním kanálu služby Azure Data Factory, který spouští úlohu Azure Batch. Skript Pythonu běží na uzlech Batch, který získá vstup hodnot oddělených čárkami (CSV) z kontejneru služby Azure Blob Storage, manipuluje s daty a zapíše výstup do jiného kontejneru úložiště. Pomocí Batch Exploreru vytvoříte fond a uzly Batch a Průzkumník služby Azure Storage pracovat s kontejnery a soubory úložiště.

V tomto kurzu se naučíte:

  • Pomocí Batch Exploreru vytvořte fond Batch a uzly.
  • Pomocí Průzkumník služby Storage můžete vytvářet kontejnery úložiště a nahrávat vstupní soubory.
  • Vyvíjejte skript Pythonu pro manipulaci se vstupními daty a vytváření výstupu.
  • Vytvořte kanál služby Data Factory, který spouští úlohu Batch.
  • Pomocí Batch Exploreru se podívejte na výstupní soubory protokolu.

Požadavky

Vytvoření fondu a uzlů služby Batch pomocí Batch Exploreru

Pomocí Batch Exploreru vytvořte fond výpočetních uzlů pro spuštění úlohy.

  1. Přihlaste se k Batch Exploreru pomocí svých přihlašovacích údajů Azure.

  2. Vyberte svůj účet Batch.

  3. Na levém bočním panelu vyberte Fondy a pak výběrem + ikony přidejte fond.

    Screenshot of creating a pool in Batch Explorer.

  4. Do formuláře účtu vyplňte fond následujícím způsobem:

    • V části ID zadejte vlastní fond aktivit.
    • V části Vyhrazené uzly zadejte 2.
    • V části Vyberte konfiguraci operačního systému, vyberte kartu Datové vědy a pak vyberte Dsvm Win 2019.
    • V části Zvolit velikost virtuálního počítače vyberte Standard_F2s_v2.
    • U úkolu zahájení vyberte Přidat úkol zahájení. Na obrazovce startu úkolu v části Příkazový řádek zadejte cmd /c "pip install azure-storage-blob pandas"a pak vyberte Vybrat. Tento příkaz nainstaluje azure-storage-blob balíček na každý uzel při spuštění.
  5. Zvolte Uložit a zavřít.

Použití Průzkumník služby Storage k vytvoření kontejnerů objektů blob

Pomocí Průzkumník služby Storage vytvořte kontejnery objektů blob pro ukládání vstupních a výstupních souborů a pak nahrajte vstupní soubory.

  1. Přihlaste se a Průzkumník služby Storage pomocí svých přihlašovacích údajů Azure.
  2. Na levém bočním panelu vyhledejte a rozbalte účet úložiště, který je propojený s vaším účtem Batch.
  3. Klikněte pravým tlačítkem na Kontejnery objektů blob a vyberte Vytvořit kontejner objektů blob nebo v části Akce v dolní části bočního panelu vyberte Vytvořit kontejnerobjektů blob.
  4. Do pole pro zadání zadejte vstup .
  5. Vytvořte další kontejner objektů blob s názvem výstup.
  6. Vyberte vstupní kontejner a v pravém podokně vyberte Nahrát>soubory.
  7. Na obrazovce Nahrát soubory v části Vybrané soubory vyberte tři tečky ... vedle pole pro zadání.
  8. Přejděte do umístění staženého souboru iris.csv , vyberte Otevřít a pak vyberte Nahrát.

Screenshot of Storage Explorer with containers and blobs created in the storage account.

Vývoj skriptu Pythonu

Následující skript Pythonu načte soubor datové sady iris.csv z vašeho vstupního kontejneru Průzkumník služby Storage, manipuluje s daty a uloží výsledky do výstupního kontejneru.

Skript musí použít připojovací řetězec pro účet Azure Storage, který je propojený s vaším účtem Batch. Získání připojovací řetězec:

  1. Na webu Azure Portal vyhledejte a vyberte název účtu úložiště, který je propojený s vaším účtem Batch.
  2. Na stránce účtu úložiště vyberte v části Zabezpečení a sítě přístupové klíče z levého navigačního panelu.
  3. V části key1 vyberte Zobrazit vedle řetězce Připojení ion a potom výběrem ikony Kopírovat zkopírujte připojovací řetězec.

Vložte připojovací řetězec do následujícího skriptu a zástupný symbol nahraďte<storage-account-connection-string>. Uložte skript jako soubor s názvem main.py.

Důležité

Zveřejnění klíčů účtu ve zdroji aplikace se nedoporučuje pro produkční využití. Měli byste omezit přístup k přihlašovacím údajům a odkazovat na ně v kódu pomocí proměnných nebo konfiguračního souboru. Nejlepší je ukládat klíče účtu Batch a Storage ve službě Azure Key Vault.

# 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 the task node
df.to_csv(outputBlobName, index = False)

with open(outputBlobName, "rb") as data:
    blob.upload_blob(data, overwrite=True)

Spuštěním skriptu místně otestujte a ověřte funkčnost.

python main.py

Skript by měl vytvořit výstupní soubor s názvem iris_setosa.csv , který obsahuje pouze datové záznamy, které mají Species = setosa. Jakmile ověříte, že funguje správně, nahrajte soubor skriptu main.py do vstupního kontejneru Průzkumník služby Storage.

Nastavení kanálu služby Data Factory

Vytvořte a ověřte kanál služby Data Factory, který používá váš skript Pythonu.

Získání informací o účtu

Kanál Služby Data Factory používá názvy účtů Batch a Storage, hodnoty klíče účtu a koncový bod účtu Batch. Pokud chcete získat tyto informace z webu Azure Portal:

  1. Na panelu Azure Search vyhledejte a vyberte název účtu Batch.

  2. Na stránce účtu Batch vyberte v levém navigačním panelu klíče .

  3. Na stránce Klíče zkopírujte následující hodnoty:

    • Účet Batch
    • Koncový bod účtu
    • Primární přístupový klíč
    • Název účtu úložiště
    • Klíč1

Vytvoření a spuštění kanálu

  1. Pokud azure Data Factory Studio ještě není spuštěný, na stránce Data Factory na webu Azure Portal vyberte Spustit studio .

  2. V nástroji Data Factory Studio vyberte v levém navigačním panelu ikonu tužky pro autory .

  3. V části Prostředky továrny vyberte + ikonu a pak vyberte Kanál.

  4. V podokně Vlastnosti na pravé straně změňte název kanálu na Spustit Python.

    Screenshot of Data Factory Studio after you select Add pipeline.

  5. V podokně Aktivity rozbalte službu Batch a přetáhněte vlastní aktivitu na plochu návrháře kanálu.

  6. Pod plátnem návrháře na kartě Obecné zadejte testPipeline pod názvem.

    Screenshot of the General tab for creating a pipeline task.

  7. Vyberte kartu Azure Batch a pak vyberte Nový.

  8. Vyplňte formulář Nová propojená služba následujícím způsobem:

    • Název: Zadejte název propojené služby, například AzureBatch1.
    • Přístupový klíč: Zadejte primární přístupový klíč, který jste zkopírovali ze svého účtu Batch.
    • Název účtu: Zadejte název účtu Batch.
    • Adresa URL služby Batch: Zadejte koncový bod účtu, který jste zkopírovali ze svého účtu Batch, například https://batchdotnet.eastus.batch.azure.com.
    • Název fondu: Zadejte vlastní fond aktivit, fond, který jste vytvořili v Batch Exploreru.
    • Název propojené služby účtu úložiště: Vyberte Nový. Na další obrazovce zadejte název propojené služby úložiště, například AzureBlobStorage1, vyberte své předplatné Azure a propojený účet úložiště a pak vyberte Vytvořit.
  9. V dolní části obrazovky propojené služby Batch New vyberte Test připojení. Po úspěšném připojení vyberte Vytvořit.

    Screenshot of the New linked service screen for the Batch job.

  10. Vyberte kartu Nastavení a zadejte nebo vyberte následující nastavení:

    • Příkaz: Enter cmd /C python main.py.
    • Propojená služba prostředků: Vyberte propojenou službu úložiště, kterou jste vytvořili, například AzureBlobStorage1, a otestujte připojení, abyste měli jistotu, že je úspěšná.
    • Cesta ke složce: Vyberte ikonu složky a pak vyberte vstupní kontejner a vyberte OK. Soubory z této složky se před spuštěním skriptu Pythonu stáhnou z kontejneru do uzlů fondu.

    Screenshot of the Settings tab for the Batch job.

  11. Vyberte Ověřit na panelu nástrojů kanálu a ověřte kanál.

  12. Vyberte Ladit a otestujte kanál a ujistěte se, že funguje správně.

  13. Výběrem možnosti Publikovat vše publikujte kanál.

  14. Vyberte Přidat trigger a pak vyberte Aktivovat , aby se kanál spustil, nebo Nový nebo Upravit a naplánujte ho.

    Screenshot of Validate, Debug, Publish all, and Add trigger selections in Data Factory.

Zobrazení souborů protokolu pomocí Batch Exploreru

Pokud spuštění kanálu generuje upozornění nebo chyby, můžete se pomocí Batch Exploreru podívat na stdout.txt a stderr.txt výstupní soubory, kde najdete další informace.

  1. V Batch Exploreru vyberte úlohy na levém bočním panelu.
  2. Vyberte úlohu adfv2-custom-activity-pool.
  3. Vyberte úlohu, u které došlo k ukončení kódu selhání.
  4. Prohlédněte si soubory stdout.txt a stderr.txt a prozkoumejte a diagnostikujte váš problém.

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

Účty Batch, úlohy a úkoly jsou bezplatné, ale výpočetní uzly se účtují i v případě, že neběží úlohy. Fondy uzlů je nejlepší přidělovat podle potřeby a až s nimi skončíte, odstraňte fondy. Odstranění fondů odstraní všechny výstupy úkolů na uzlech a samotné uzly.

Vstupní a výstupní soubory zůstanou v účtu úložiště a můžou se účtovat poplatky. Pokud už soubory nepotřebujete, můžete soubory nebo kontejnery odstranit. Pokud už účet Batch nebo propojený účet úložiště nepotřebujete, můžete je odstranit.

Další kroky

V tomto kurzu jste se naučili používat skript Pythonu s Batch Explorerem, Průzkumník služby Storage a službou Data Factory ke spuštění úlohy Batch. Další informace o službě Data Factory najdete v tématu Co je Azure Data Factory?