Adatok átalakítása Databricks-jegyzetfüzet futtatásával

A KÖVETKEZŐKRE VONATKOZIK: Azure Data Factory Azure Synapse Analytics

Tipp

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás vállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésekig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyen!

A folyamatban lévő Azure Databricks-jegyzetfüzettevékenység egy Databricks-jegyzetfüzetet futtat az Azure Databricks-munkaterületen. Ez a cikk az adatátalakítási tevékenységekről szóló cikkre épül, amely általános áttekintést nyújt az adatátalakításról és a támogatott átalakítási tevékenységekről. Az Azure Databricks egy felügyelt platform az Apache Spark futtatásához.

A Databricks-jegyzetfüzeteket egy ARM-sablonnal JSON használatával, vagy közvetlenül a Azure Data Factory Studio felhasználói felületén hozhatja létre. A Databricks-jegyzetfüzetek felhasználói felülettel történő létrehozásának részletes útmutatójához tekintse meg a Databricks-jegyzetfüzet futtatása a Databricks-jegyzetfüzet-tevékenységgel a Azure Data Factory-ban című oktatóanyagot.

Jegyzetfüzet-tevékenység hozzáadása az Azure Databrickshez felhasználói felülettel rendelkező folyamathoz

Ha jegyzetfüzet-tevékenységet szeretne használni az Azure Databrickshez egy folyamatban, hajtsa végre az alábbi lépéseket:

  1. Keresse meg a jegyzetfüzetet a folyamat Tevékenységek paneljén, és húzza a Jegyzetfüzet-tevékenységet a folyamatvászonra.

  2. Jelölje ki az új jegyzetfüzet-tevékenységet a vásznon, ha még nincs kijelölve.

  3. Válassza az Azure Databricks lapot egy új Azure Databricks társított szolgáltatás kiválasztásához vagy létrehozásához, amely végrehajtja a notebooktevékenységet.

    Egy jegyzetfüzet-tevékenység felhasználói felületét jeleníti meg.

  4. Válassza a Beállítások lapot, és adja meg az Azure Databricksen végrehajtandó jegyzetfüzet elérési útját, a jegyzetfüzetnek átadandó választható alapparamétereket, valamint a fürtre telepíteni kívánt további kódtárakat a feladat végrehajtásához.

    A Jegyzetfüzet-tevékenység Beállítások lapjának felhasználói felülete.

Databricks Notebook-tevékenységdefiníció

Íme egy Databricks Notebook-tevékenység JSON-mintadefiníciója:

{
    "activity": {
        "name": "MyActivity",
        "description": "MyActivity description",
        "type": "DatabricksNotebook",
        "linkedServiceName": {
            "referenceName": "MyDatabricksLinkedservice",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "notebookPath": "/Users/user@example.com/ScalaExampleNotebook",
            "baseParameters": {
                "inputpath": "input/folder1/",
                "outputpath": "output/"
            },
            "libraries": [
                {
                "jar": "dbfs:/docs/library.jar"
                }
            ]
        }
    }
}

A Databricks Notebook-tevékenység tulajdonságai

Az alábbi táblázat a JSON-definícióban használt JSON-tulajdonságokat ismerteti:

Tulajdonság Leírás Kötelező
name A folyamatban lévő tevékenység neve. Igen
leírás A tevékenység tevékenységeit leíró szöveg. Nem
típus A Databricks Notebook-tevékenység esetében a tevékenység típusa a DatabricksNotebook. Igen
linkedServiceName Annak a Databricks társított szolgáltatásnak a neve, amelyen a Databricks-jegyzetfüzet fut. A társított szolgáltatásról további információt a Társított szolgáltatások számítása című cikkben talál. Igen
notebookPath A Databricks-munkaterületen futtatandó jegyzetfüzet abszolút elérési útja. Ennek az elérési útnak perjellel kell kezdődnie. Igen
baseParameters Key-Value párok tömbje. Az alapparaméterek minden tevékenységfuttatáshoz használhatók. Ha a jegyzetfüzet nem megadott paramétert használ, a rendszer a jegyzetfüzet alapértelmezett értékét használja. További információt a Databricks-jegyzetfüzetek paramétereiről talál. Nem
kódtárak A feladatot végrehajtó fürtre telepíteni kívánt kódtárak listája. Ez lehet egy sztringből, objektumból> álló <tömb. Nem

A Databricks-tevékenységekhez támogatott kódtárak

A fenti Databricks-tevékenységdefinícióban a következő kódtártípusokat adja meg: jar, egg, whl, maven, pypi, cran.

{
    "libraries": [
        {
            "jar": "dbfs:/mnt/libraries/library.jar"
        },
        {
            "egg": "dbfs:/mnt/libraries/library.egg"
        },
        {
            "whl": "dbfs:/mnt/libraries/mlflow-0.0.1.dev0-py2-none-any.whl"
        },
        {
            "whl": "dbfs:/mnt/libraries/wheel-libraries.wheelhouse.zip"
        },
        {
            "maven": {
                "coordinates": "org.jsoup:jsoup:1.7.2",
                "exclusions": [ "slf4j:slf4j" ]
            }
        },
        {
            "pypi": {
                "package": "simplejson",
                "repo": "http://my-pypi-mirror.com"
            }
        },
        {
            "cran": {
                "package": "ada",
                "repo": "https://cran.us.r-project.org"
            }
        }
    ]
}

További információt a Databricks könyvtártípusokkal kapcsolatos dokumentációjában talál.

Paraméterek továbbítása jegyzetfüzetek és folyamatok között

A databricks tevékenység baseParameters tulajdonságával paramétereket adhat át a jegyzetfüzeteknek.

Bizonyos esetekben előfordulhat, hogy vissza kell adnia bizonyos értékeket a jegyzetfüzetből a szolgáltatásnak, amelyek felhasználhatók a szolgáltatás vezérlési folyamatához (feltételes ellenőrzésekhez), vagy az alárendelt tevékenységek használhatják fel (a méretkorlát 2 MB).

  1. A jegyzetfüzetben meghívhatja a dbutils.notebook.exit("returnValue") parancsot, és a rendszer visszaadja a megfelelő "returnValue" értéket a szolgáltatásnak.

  2. A szolgáltatás kimenetét a következő kifejezéssel @{activity('databricks notebook activity name').output.runOutput}használhatja: .

    Fontos

    Ha JSON-objektumot ad át, a tulajdonságnevek hozzáfűzésével lekérheti az értékeket. Például: @{activity('databricks notebook activity name').output.runOutput.PropertyName}

Tár feltöltése a Databricksben

A munkaterület felhasználói felületét használhatja:

  1. A Databricks-munkaterület felhasználói felületének használata

  2. A felhasználói felülettel hozzáadott kódtár dbfs elérési útjának lekéréséhez használhatja a Databricks parancssori felületét.

    A Jar-kódtárak általában a dbfs:/FileStore/jars alatt vannak tárolva a felhasználói felület használata során. A parancssori felület összes elemét listázhatja: databricks fs ls dbfs:/FileStore/job-jars

Vagy használhatja a Databricks parancssori felületét:

  1. A tár másolása a Databricks parancssori felületével

  2. A Databricks parancssori felületének használata (telepítési lépések)

    Példaként egy JAR-t a dbfs-be másolhat: dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar