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
- Nainstalovaná distribuce Pythonu pro místní testování.
- Balíček Azure-Storage-BLOB
pip. - Datová sadairis.csv
- Účet Azure Batch a propojený účet Azure Storage. Další informace o tom, jak vytvořit a propojit účty Batch s účty úložiště, najdete v tématu Vytvoření účtu Batch .
- Účet Azure Data Factory. Další informace o tom, jak vytvořit datovou továrnu pomocí Azure Portal, najdete v tématu Vytvoření datové továrny .
- Batch Explorer.
- Průzkumník služby Azure Storage.
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.)
Vyberte všechny služby > Batch účty a potom vyberte název účtu Batch.
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.
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.
- Přihlaste se k Batch Explorer pomocí svých přihlašovacích údajů Azure.
- Vyberte účet Batch.
- Vytvořte fond tak, že na levé straně vyberete fondy a pak tlačítko Přidat nad formulář pro hledání.
- Vyberte ID a zobrazované jméno.
custom-activity-poolV tomto příkladu budeme používat. - Nastavte typ škálování na pevnou velikost a nastavte počet vyhrazených uzlů na 2.
- V oblasti datové vědy vyberte jako operační systém možnost Dsvm Windows .
- Vyberte
Standard_f2s_v2Velikost virtuálního počítače. - 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. - Vyberte OK.
- Vyberte ID a zobrazované jméno.
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.
- Přihlaste se k Průzkumník služby Storage pomocí svých přihlašovacích údajů Azure.
- 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
inputa náš výstupní kontejneroutput.
- V tomto příkladu budeme volat náš vstupní kontejner
- Nahrajte
iris.csvdo vstupního kontejneruinputpomocí 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.
Podle pokynů v části Vytvoření datové továrny v tomto článkuVytvořte datovou továrnu.
V poli prostředky továrny vyberte tlačítko + (plus) a pak vyberte kanál .
Na kartě Obecné nastavte název kanálu jako "Run Python".

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:
Na kartě Obecné zadejte testPipeline pro název

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ě Nastavení :
- Nastavte příkaz jako
python main.py. - 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.
- 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.

- Nastavte příkaz jako
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).
Kliknutím na ladit otestujete kanál a ujistěte se, že funguje správně.
Kliknutím na publikovat publikujte kanál.
Kliknutím na Trigger (aktivovat ) spustí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.
- Vyberte úlohy na levé straně Batch Explorer.
- Vyberte úlohu vytvořenou datovou továrnou. Za předpokladu, že jste svůj fond najmenovali
custom-activity-pool, vyberteadfv2-custom-activity-pool. - Klikněte na úlohu, u které došlo k chybě ukončovacího kódu.
- Prohlédněte si
stdout.txtastderr.txtProzkoumejte 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: