Oktatóanyag: Batch-feladat futtatása a Data Factoryben a Batch Explorer, a Storage Explorer és a Python használatával

Ez az oktatóanyag egy Azure Batch-számítási feladatot futtató Azure Data Factory-folyamat létrehozását és futtatását mutatja be. Egy Python-szkript fut a Batch-csomópontokon, hogy vesszővel tagolt érték (CSV) bemenetet kapjon egy Azure Blob Storage-tárolóból, módosítsa az adatokat, és írja a kimenetet egy másik tárolóba. A Batch Explorerrel batch-készletet és csomópontokat, az Azure Storage Explorert pedig tárolótárolókkal és fájlokkal dolgozhat.

Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Batch-készlet és csomópontok létrehozásához használja a Batch Explorert.
  • Tárolók létrehozásához és bemeneti fájlok feltöltéséhez használja a Storage Explorert.
  • Python-szkript fejlesztése a bemeneti adatok kezeléséhez és a kimenet előállításához.
  • Hozzon létre egy Data Factory-folyamatot, amely a Batch számítási feladatát futtatja.
  • A Kimeneti naplófájlok megtekintéséhez használja a Batch Explorert.

Előfeltételek

Batch-készlet és csomópontok létrehozása a Batch Explorerrel

Számítási csomópontok készletének létrehozásához használja a Batch Explorert a számítási feladatok futtatásához.

  1. Jelentkezzen be a Batch Explorerbe azure-beli hitelesítő adataival.

  2. Válassza ki a Batch-fiókot.

  3. A bal oldali oldalsávon válassza a Készletek lehetőséget, majd a készlet hozzáadásához kattintson az + ikonra.

    Screenshot of creating a pool in Batch Explorer.

  4. Töltse ki a Készlet hozzáadása a fiók űrlaphoz az alábbiak szerint:

    • Az azonosító alatt adja meg az egyéni tevékenységkészletet.
    • A Dedikált csomópontok területen adja meg a 2 értéket.
    • Az operációs rendszer konfigurációjának kiválasztásához válassza az Adatelemzés lapot, majd a Dsvm Win 2019 lehetőséget.
    • A virtuális gép méretének kiválasztásához válassza a Standard_F2s_v2 lehetőséget.
    • A Tevékenység indítása beállításnál válassza a Kezdési tevékenység hozzáadása lehetőséget. A kezdőképernyőn, a Parancssor csoportban adja megcmd /c "pip install azure-storage-blob pandas", majd válassza a Kiválasztás lehetőséget. Ez a parancs az indításkor telepíti a azure-storage-blob csomagot az egyes csomópontokra.
  5. Válassza a Mentés és bezárás lehetőséget.

Blobtárolók létrehozása a Storage Explorer használatával

A Storage Explorer használatával blobtárolókat hozhat létre a bemeneti és kimeneti fájlok tárolásához, majd feltöltheti a bemeneti fájlokat.

  1. Jelentkezzen be a Storage Explorerbe azure-beli hitelesítő adataival.
  2. A bal oldali oldalsávon keresse meg és bontsa ki a Batch-fiókhoz társított tárfiókot.
  3. Kattintson a jobb gombbal a BlobTárolók elemre, és válassza a Blobtároló létrehozása parancsot, vagy válassza a Blobtároló létrehozása az oldalsáv alján található Műveletek parancsot.
  4. Írja be a bemenetet a beviteli mezőbe.
  5. Hozzon létre egy másik, kimenetnek nevezett blobtárolót.
  6. Válassza ki a bemeneti tárolót, majd válassza a Fájlok feltöltése>lehetőséget a jobb oldali panelen.
  7. A Fájlok feltöltése képernyőn, a Kijelölt fájlok csoportban válassza ki a három pontot ... a beviteli mező mellett.
  8. Keresse meg a letöltött iris.csv fájl helyét, válassza a Megnyitás, majd a Feltöltés lehetőséget.

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

Python-szkript fejlesztése

Az alábbi Python-szkript betölti a iris.csv adathalmazfájlt a Storage Explorer bemeneti tárolójából, módosítja az adatokat, és menti az eredményeket a kimeneti tárolóba.

A szkriptnek a Batch-fiókhoz társított Azure Storage-fiók kapcsolati sztring kell használnia. A kapcsolati sztring lekérése:

  1. Az Azure Portalon keresse meg és válassza ki a Batch-fiókhoz társított tárfiók nevét.
  2. A tárfiók oldalán válassza az Access-kulcsokat a bal oldali navigációs sáv Biztonság + hálózatkezelés területén.
  3. Az 1. kulcs alatt válassza a Megjelenítés a Csatlakozás ion sztring mellett, majd a Másolás ikonra kattintva másolja a kapcsolati sztring.

Illessze be a kapcsolati sztring a következő szkriptbe, és cserélje le a helyőrzőt<storage-account-connection-string>. Mentse a szkriptet main.py nevű fájlként.

Fontos

Az alkalmazás forrásában lévő fiókkulcsok közzététele éles használat esetén nem ajánlott. Korlátoznia kell a hitelesítő adatokhoz való hozzáférést, és változók vagy konfigurációs fájlok használatával hivatkoznia kell rájuk a kódban. A Legjobb, ha Batch- és Storage-fiókkulcsokat tárol az Azure Key Vaultban.

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

Futtassa a szkriptet helyileg a funkciók teszteléséhez és ellenőrzéséhez.

python main.py

A szkriptnek egy iris_setosa.csv nevű kimeneti fájlt kell létrehoznia, amely csak a Species = setosa nevű adatrekordokat tartalmazza. Miután ellenőrizte, hogy megfelelően működik-e, töltse fel a main.py szkriptfájlt a Storage Explorer bemeneti tárolóba .

Data Factory-folyamat beállítása

Hozzon létre és érvényesítsen egy Data Factory-folyamatot, amely a Python-szkriptet használja.

Fiókadatok lekérése

A Data Factory-folyamat a Batch- és Storage-fiókneveket, a fiókkulcsértékeket és a Batch-fiókvégpontot használja. Ezek az információk az Azure Portalról való lekéréséhez:

  1. Az Azure Search sávon keresse meg és válassza ki a Batch-fiók nevét.

  2. A Batch-fiók lapján válassza a bal oldali navigációs sáv Kulcsok elemét.

  3. Másolja a következő értékeket a Kulcsok lapra:

    • Batch-fiók
    • Fiókvégpont
    • Elsődleges hozzáférési kulcs
    • Tárfiók neve
    • 1. kulcs

A folyamat létrehozása és futtatása

  1. Ha az Azure Data Factory Studio még nem fut, válassza a Launch studio (Stúdió indítása) lehetőséget a Data Factory oldalán az Azure Portalon.

  2. A Data Factory Studióban válassza a Szerző ceruza ikont a bal oldali navigációs sávon.

  3. A Gyári erőforrások területen válassza az + ikont, majd a Folyamat lehetőséget.

  4. A jobb oldali Tulajdonságok panelen módosítsa a folyamat nevét Python-futtatásra.

    Screenshot of Data Factory Studio after you select Add pipeline.

  5. A Tevékenységek panelen bontsa ki a Batch Service elemet, és húzza az egyéni tevékenységet a folyamattervező felületére.

  6. A tervezővászon alatt, az Általános lapon írja be a testPipeline nevet a Név mezőbe.

    Screenshot of the General tab for creating a pipeline task.

  7. Válassza az Azure Batch lapot, majd az Új lehetőséget.

  8. Töltse ki az Új társított szolgáltatás űrlapot az alábbiak szerint:

    • Név: Adja meg a társított szolgáltatás nevét, például az AzureBatch1 nevet.
    • Hozzáférési kulcs: Adja meg a Batch-fiókból másolt elsődleges hozzáférési kulcsot.
    • Fiók neve: Adja meg a Batch-fiók nevét.
    • Batch URL-cím: Adja meg a Batch-fiókból másolt fiókvégpontot, például https://batchdotnet.eastus.batch.azure.com.
    • Készlet neve: Adja meg az egyéni tevékenységkészletet, a Batch Explorerben létrehozott készletet.
    • Tárfiók társított szolgáltatásneve: Válassza az Új lehetőséget. A következő képernyőn adja meg a társított társzolgáltatás nevét (például AzureBlobStorage1), válassza ki az Azure-előfizetést és a társított tárfiókot, majd válassza a Létrehozás lehetőséget.
  9. A Batch Új társított szolgáltatás képernyő alján válassza a Kapcsolat tesztelése lehetőséget. Ha a kapcsolat sikeres, válassza a Létrehozás lehetőséget.

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

  10. Válassza a Gépház lapot, és adja meg vagy válassza ki a következő beállításokat:

    • Parancs: Enter cmd /C python main.py.
    • Erőforráshoz társított szolgáltatás: Válassza ki a létrehozott társított tárolási szolgáltatást (például az AzureBlobStorage1 szolgáltatást), és tesztelje a kapcsolatot, hogy biztosan sikeres legyen.
    • Mappa elérési útja: Válassza ki a mappa ikont, majd válassza a bemeneti tárolót, majd kattintson az OK gombra. A mappa fájljai a Python-szkript futtatása előtt letöltődnek a tárolóból a készletcsomópontokra.

    Screenshot of the Settings tab for the Batch job.

  11. A folyamat ellenőrzéséhez válassza az Ellenőrzés lehetőséget a folyamat eszköztárán.

  12. Válassza a Hibakeresés lehetőséget a folyamat teszteléséhez és megfelelő működésének biztosításához.

  13. Válassza az Összes közzététele lehetőséget a folyamat közzétételéhez.

  14. Válassza az Eseményindító hozzáadása lehetőséget, majd válassza az Eseményindító lehetőséget a folyamat futtatásához, vagy az Új/Szerkesztés lehetőséget a folyamat ütemezéséhez.

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

Naplófájlok megtekintése a Batch Explorerrel

Ha a folyamat futtatása figyelmeztetéseket vagy hibákat okoz, a Batch Explorerrel további információkért tekintheti meg a stdout.txt és stderr.txt kimeneti fájlokat.

  1. A Batch Explorerben válassza a Feladatok lehetőséget a bal oldali oldalsávon.
  2. Válassza ki az adfv2-custom-activity-pool feladatot.
  3. Válasszon ki egy hibát tartalmazó kilépési kódot tartalmazó feladatot.
  4. Tekintse meg a stdout.txt és stderr.txt fájlokat a probléma kivizsgálásához és diagnosztizálásához.

Az erőforrások eltávolítása

A Batch-fiókok, feladatok és feladatok ingyenesek, de a számítási csomópontok akkor is díjat vonnak maguk után, ha nem futtatnak feladatokat. A legjobb, ha csak szükség szerint foglalja le a csomópontkészleteket, és ha végzett velük, törölje a készleteket. A készletek törlése törli a csomópontok összes tevékenységkimenetét, és maguk a csomópontok is.

A bemeneti és kimeneti fájlok a tárfiókban maradnak, és díjakat vonhatnak maga után. Ha már nincs szüksége a fájlokra, törölheti a fájlokat vagy tárolókat. Ha már nincs szüksége a Batch-fiókra vagy a csatolt tárfiókra, törölheti őket.

Következő lépések

Ebben az oktatóanyagban megtanulta, hogyan futtathat Python-szkripteket a Batch Explorerrel, a Storage Explorerrel és a Data Factoryvel a Batch-számítási feladatok futtatásához. További információ a Data Factoryről: Mi az Az Azure Data Factory?