Självstudie: köra Python-skript via Azure Data Factory med Azure Batch
I den här guiden får du lära dig att:
- autentisera med Batch- och Storage-konton
- Utveckla och köra ett skript i python
- skapa en pool med beräkningsnoder för att köra ett program
- Schemalägg dina python-arbetsbelastningar
- Övervaka din Analytics-pipeline
- Komma åt dina loggfiler
Exemplet nedan kör ett Python-skript som tar emot CSV-indata från en Blob Storage-behållare, utför en data behandlings process och skriver utdata till en separat Blob Storage-behållare.
Om du inte har en Azure-prenumeration kan du skapa ett kostnads fritt konto innan du börjar.
Förutsättningar
- En installerad python -distribution för lokal testning.
- Azure-Storage-BLOB-
pippaketet. - iris.csv data uppsättning
- Ett Azure Batch-konto och ett länkat Azure Storage-konto. Mer information om hur du skapar och länkar batch-konton till lagrings konton finns i skapa ett batch-konto .
- Ett Azure Data Factory konto. Se skapa en data fabrik för mer information om hur du skapar en data fabrik via Azure Portal.
- Batch Explorer.
- Azure Storage Explorer.
Logga in på Azure
Logga in på Azure Portal på https://portal.azure.com.
Hämta kontouppgifter
Du måste ange autentiseringsuppgifter för dina Batch- och Storage-konton i det här exemplet. Ett enkelt sätt att hämta de autentiseringsuppgifter som behövs är i Azure-portalen. (Du kan också hämta autentiseringsuppgifterna via Azures API:er och kommandoradsverktyg.)
Välj alla tjänster > batch-konton och välj sedan namnet på batch-kontot.
Om du vill se batch-autentiseringsuppgifterna väljer du nycklar. Kopiera värdena för Batch-konto, URL och Primär åtkomstnyckel till en textredigerare.
Om du vill se lagrings kontots namn och nycklar väljer du lagrings konto. Kopiera värdena för Lagringskontonamn och Key1 till en textredigerare.
Skapa en batch-pool med Batch Explorer
I det här avsnittet ska du använda Batch Explorer för att skapa batch-poolen som din Azure Data Factory-pipeline ska använda.
- Logga in för att Batch Explorer med dina Azure-autentiseringsuppgifter.
- Välj ditt batch-konto
- Skapa en pool genom att välja pooler i det vänstra fältet och sedan knappen Lägg till ovanför Sök formuläret.
- Välj ett ID och visnings namn. Vi ska använda
custom-activity-pooldet här exemplet. - Ange skalnings typen till fast storlek och ange antalet dedikerade noder till 2.
- Under data vetenskap väljer du Dsvm Windows som operativ system.
- Välj
Standard_f2s_v2som storlek på den virtuella datorn. - Aktivera start uppgiften och Lägg till kommandot
cmd /c "pip install azure-storage-blob pandas". Användar identiteten kan vara som standard användare av poolen. - Välj OK.
- Välj ett ID och visnings namn. Vi ska använda
Skapa BLOB-behållare
Här skapar du Blob-behållare som lagrar dina indata och utdatafiler för OCR-batchjobbet.
- Logga in för att Storage Explorer med dina Azure-autentiseringsuppgifter.
- Skapa två BLOB-behållare (en för indatafiler, en för utdatafiler) med hjälp av det lagrings konto som är kopplat till ditt batch-konto genom att följa stegen i skapa en BLOB-behållare.
- I det här exemplet ska vi anropa vår container för indata
inputoch vår behållare för utdataoutput.
- I det här exemplet ska vi anropa vår container för indata
- Överför
iris.csvtill din indatamängds behållareinputmed hjälp av Storage Explorer genom att följa stegen i Hantera blobbar i en BLOB-behållare
Utveckla ett skript i python
Följande Python-skript läser in data iris.csv uppsättningen från din input behållare, utför en data behandlings process och sparar tillbaka resultatet till output behållaren.
# 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)
Spara skriptet som main.py och ladda upp det till Azure Storage - input behållaren. Se till att testa och verifiera dess funktioner lokalt innan du laddar upp den till BLOB-behållaren:
python main.py
Konfigurera en Azure Data Factory pipeline
I det här avsnittet ska du skapa och validera en pipeline med hjälp av python-skriptet.
Följ stegen för att skapa en data fabrik under avsnittet "skapa en data fabrik" i den här artikeln.
I rutan fabriks resurser väljer du knappen + (plus) och väljer sedan pipeline
På fliken Allmänt anger du namnet på pipelinen som "kör python"

I rutan aktiviteter expanderar du batch-tjänsten. Dra den anpassade aktiviteten från aktivitets verktygs lådan till pipelinens designer-yta. Fyll i följande flikar för den anpassade aktiviteten:
På fliken Allmänt anger du testPipeline som namn

På fliken Azure Batch lägger du till det Batch-konto som skapades i föregående steg och testar anslutningen för att kontrol lera att det lyckades.

På fliken Inställningar :
- Ange kommandot som
python main.py. - För den länkade resurs tjänsten lägger du till det lagrings konto som skapades i föregående steg. Testa anslutningen för att säkerställa att den lyckas.
- I mappsökvägen väljer du namnet på den Azure Blob Storage -behållare som innehåller python-skriptet och tillhör ande indata. Detta laddar ned de valda filerna från behållaren till poolens noder innan python-skriptet körs.

- Ange kommandot som
Verifiera pipelineinställningarna genom att klicka på Verifiera i verktygsfältet för pipelinen. Bekräfta att pipelinen har verifierats. Du stänger utdata från verifieringen genom att välja >> (högerpil).
Klicka på Felsök för att testa pipelinen och se till att den fungerar korrekt.
Klicka på publicera för att publicera pipelinen.
Klicka på Utlös för att köra python-skriptet som en del av en batch-process.

Övervaka loggfilerna
Om varningar eller fel skapas vid körning av skriptet kan du checka ut stdout.txt eller stderr.txt för mer information om utdata som loggats.
- Välj jobb från vänster sida av batch Explorer.
- Välj det jobb som skapats av din data fabrik. Förutsatt att du har namngett din pool
custom-activity-poolväljer duadfv2-custom-activity-pool. - Klicka på den aktivitet som hade slut på stängnings kod.
- Visa
stdout.txtochstderr.txtundersöka och diagnostisera problemet.
Rensa resurser
Även om du inte debiteras för själva jobben och uppgifterna så debiteras du för beräkningsnoder. Vi rekommenderar därför att du endast allokerar pooler efter behov. När du tar bort poolen raderas alla aktivitetsutdata på noderna. In- och utdatafilerna ligger däremot kvar i lagringskontot. När du inte längre behöver kan du även ta bort batch-kontot och lagrings kontot.
Nästa steg
I den här självstudiekursen lärde du dig att:
- autentisera med Batch- och Storage-konton
- Utveckla och köra ett skript i python
- skapa en pool med beräkningsnoder för att köra ett program
- Schemalägg dina python-arbetsbelastningar
- Övervaka din Analytics-pipeline
- Komma åt dina loggfiler
Mer information om Azure Data Factory finns i: