Delen via


Gegevens transformeren door een Python activiteit uit te voeren in Azure Databricks

APPLIES TO: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory in Microsoft Fabric is de volgende generatie van Azure Data Factory, met een eenvoudigere architectuur, ingebouwde AI en nieuwe functies. Als u nieuw bent in gegevensintegratie, begint u met Fabric Data Factory. Bestaande ADF-workloads kunnen upgraden naar Fabric om toegang te krijgen tot nieuwe mogelijkheden voor gegevenswetenschap, realtime analyses en rapportage.

De Azure Databricks Python-activiteit in een pipeline voert een Python-bestand uit in uw Azure Databricks-cluster. Dit artikel is gebaseerd op het artikel over activiteiten voor gegevenstransformatie , waarin een algemeen overzicht wordt weergegeven van de gegevenstransformatie en de ondersteunde transformatieactiviteiten. Azure Databricks is een beheerd platform voor het uitvoeren van Apache Spark.

Bekijk de volgende video voor een inleiding en demonstratie van deze functie van 11 minuten:

Een Python-activiteit voor Azure Databricks toevoegen aan een pijplijn met de gebruikersinterface

Voer de volgende stappen uit om een Python-activiteit te gebruiken voor Azure Databricks in een pijplijn:

  1. Zoek Python in het deelvenster Pijplijnactiviteiten en sleep een Python activiteit naar het pijplijncanvas.

  2. Selecteer de nieuwe Python activiteit op het canvas als deze nog niet is geselecteerd.

  3. Selecteer het tabblad Azure Databricks om een nieuwe Azure Databricks gekoppelde service te selecteren of te maken waarmee de Python-activiteit wordt uitgevoerd.

     De gebruikersinterface weergeven voor een Python activity.

  4. Selecteer het tabblad Settings en geef het pad in Azure Databricks op naar een Python bestand dat moet worden uitgevoerd, optionele parameters die moeten worden doorgegeven en eventuele extra bibliotheken die op het cluster moeten worden geïnstalleerd om de taak uit te voeren.

     De gebruikersinterface weergeven voor het tabblad Instellingen voor een Python activity.

Databricks Python-activiteitsdefinitie

Hier volgt de JSON-voorbeelddefinitie van een Databricks-Python-activiteit:

{
    "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"
                    }
                }
            ]
        }
    }
}

Activiteitseigenschappen van Databricks Python

In de volgende tabel worden de JSON-eigenschappen beschreven die worden gebruikt in de JSON-definitie:

Eigenschap Beschrijving Vereist
naam Naam van de activiteit in de pijplijn. Ja
beschrijving Tekst die beschrijft wat de activiteit doet. Nee
type Voor Databricks Python-activiteit is het activiteitstype DatabricksSparkPython. Ja
gekoppeldeServiceNaam Naam van de gekoppelde Databricks-service waarop de Python-activiteit wordt uitgevoerd. Zie het artikel Gekoppelde services berekenen voor meer informatie over deze gekoppelde service. Ja
pythonFile De URI van het Python-bestand dat moet worden uitgevoerd. Alleen DBFS-paden worden ondersteund. Ja
parameters Opdrachtregelparameters die worden doorgegeven aan het Python-bestand. Dit is een array van strings. Nee
bibliotheken Een lijst met bibliotheken die moeten worden geïnstalleerd op het cluster waarmee de taak wordt uitgevoerd. Het kan een matrix van <tekenreeks, object zijn> Nee

Ondersteunde bibliotheken voor databricks-activiteiten

In de bovenstaande Databricks-activiteitsdefinitie geeft u deze bibliotheektypen op: jar, ei, 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"
            }
        }
    ]
}

Raadpleeg de Databricks-documentatie voor bibliotheektypen voor meer informatie.

Een bibliotheek uploaden in Databricks

U kunt de gebruikersinterface van de werkruimte gebruiken:

  1. De gebruikersinterface van de Databricks-werkruimte gebruiken

  2. Als u het dbfs-pad van de bibliotheek wilt ophalen die is toegevoegd met behulp van de gebruikersinterface, kunt u Databricks CLI gebruiken.

    Normaal gesproken worden de Jar-bibliotheken opgeslagen onder dbfs:/FileStore/jars tijdens het gebruik van de gebruikersinterface. U kunt alles weergeven via de CLI: databricks fs ls dbfs:/FileStore/job-jars

U kunt ook de Databricks CLI gebruiken:

  1. Volg De bibliotheek kopiëren met behulp van Databricks CLI

  2. Databricks CLI gebruiken (installatiestappen)

    Als u bijvoorbeeld een JAR naar dbfs wilt kopiëren: dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar