Transformera data genom att köra en Python-aktivitet i Azure Databricks

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Tips

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Azure Databricks Python-aktiviteten i en pipeline kör en Python-fil i ditt Azure Databricks-kluster. Den här artikeln bygger på artikeln om datatransformeringsaktiviteter , som ger en allmän översikt över datatransformering och de omvandlingsaktiviteter som stöds. Azure Databricks är en hanterad plattform för att köra Apache Spark.

Om du vill se en introduktion och demonstration av den här funktionen rekommenderar vi följande videoklipp (11 minuter):

Lägga till en Python-aktivitet för Azure Databricks i en pipeline med användargränssnitt

Utför följande steg för att använda en Python-aktivitet för Azure Databricks i en pipeline:

  1. Sök efter Python i fönstret pipelineaktiviteter och dra en Python-aktivitet till pipelinearbetsytan.

  2. Välj den nya Python-aktiviteten på arbetsytan om den inte redan är markerad.

  3. Välj fliken Azure Databricks för att välja eller skapa en ny länkad Azure Databricks-tjänst som ska köra Python-aktiviteten.

    Visar användargränssnittet för en Python-aktivitet.

  4. Välj fliken Inställningar och ange sökvägen i Azure Databricks till en Python-fil som ska köras, valfria parametrar som ska skickas och eventuella ytterligare bibliotek som ska installeras i klustret för att köra jobbet.

    Visar användargränssnittet för fliken Inställningar för en Python-aktivitet.

Databricks Python-aktivitetsdefinition

Här är JSON-exempeldefinitionen för en Databricks Python-aktivitet:

{
    "activity": {
        "name": "MyActivity",
        "description": "MyActivity description",
        "type": "DatabricksSparkPython",
        "linkedServiceName": {
            "referenceName": "MyDatabricksLinkedService",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "pythonFile": "dbfs:/docs/pi.py",
            "parameters": [
                "10"
            ],
            "libraries": [
                {
                    "pypi": {
                        "package": "tensorflow"
                    }
                }
            ]
        }
    }
}

Databricks Python-aktivitetsegenskaper

I följande tabell beskrivs de JSON-egenskaper som används i JSON-definitionen:

Egenskap Beskrivning Obligatorisk
name Namnet på aktiviteten i pipelinen. Ja
beskrivning Text som beskriver vad aktiviteten gör. No
typ För Databricks Python-aktivitet är aktivitetstypen DatabricksSparkPython. Ja
linkedServiceName Namnet på den länkade Databricks-tjänst som Python-aktiviteten körs på. Mer information om den här länkade tjänsten finns i artikeln Compute linked services (Beräkningslänkade tjänster ). Ja
pythonFile URI:n för Python-filen som ska köras. Endast DBFS-sökvägar stöds. Ja
parametrar Kommandoradsparametrar som skickas till Python-filen. Det här är en matris med strängar. Inga
bibliotek En lista över bibliotek som ska installeras i klustret som ska köra jobbet. Det kan vara en matris med <sträng, objekt> Nej

Bibliotek som stöds för databricks-aktiviteter

I databricks-aktivitetsdefinitionen ovan anger du följande bibliotekstyper: jar, egg, maven, pypi, cran.

{
    "libraries": [
        {
            "jar": "dbfs:/mnt/libraries/library.jar"
        },
        {
            "egg": "dbfs:/mnt/libraries/library.egg"
        },
        {
            "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"
            }
        }
    ]
}

Mer information finns i Databricks-dokumentationen för bibliotekstyper.

Ladda upp ett bibliotek i Databricks

Du kan använda användargränssnittet för arbetsytan:

  1. Använda användargränssnittet för Databricks-arbetsytan

  2. Om du vill hämta dbfs-sökvägen för biblioteket som lagts till med hjälp av användargränssnittet kan du använda Databricks CLI.

    Jar-biblioteken lagras vanligtvis under dbfs:/FileStore/jars när användargränssnittet används. Du kan lista allt via CLI: databricks fs ls dbfs:/FileStore/job-jars

Eller så kan du använda Databricks CLI:

  1. Följ Kopiera biblioteket med Databricks CLI

  2. Använda Databricks CLI (installationssteg)

    Om du till exempel vill kopiera en JAR-fil till dbfs: dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar