Freigeben über


Transformieren von Daten durch Ausführen einer Python-Aktivität in Azure Databricks

Gilt für: Azure Data Factory Azure Synapse Analytics

Tipp

Data Factory in Microsoft Fabric ist die nächste Generation von Azure Data Factory mit einer einfacheren Architektur, integrierter KI und neuen Features. Wenn Sie mit der Datenintegration noch nicht vertraut sind, beginnen Sie mit Fabric Data Factory. Vorhandene ADF-Workloads können auf Fabric aktualisiert werden, um auf neue Funktionen in der Datenwissenschaft, Echtzeitanalysen und Berichterstellung zuzugreifen.

Die Azure Databricks Python Aktivität in einer pipeline führt eine Python Datei in Ihrem Azure Databricks Cluster aus. Dieser Artikel baut auf dem Artikel zu Datentransformationsaktivitäten auf, der eine allgemeine Übersicht über die Datentransformation und die unterstützten Transformationsaktivitäten bietet. Azure Databricks ist eine verwaltete Plattform zum Ausführen von Apache Spark.

Das folgende Video enthält eine 11-minütige Einführung und Demonstration dieses Features:

Hinzufügen einer Python-Aktivität für Azure Databricks zu einer Pipeline mit Benutzeroberfläche

Führen Sie die folgenden Schritte aus, um eine Python Aktivität für Azure Databricks in einer Pipeline zu verwenden:

  1. Suchen Sie im Bereich "Pipelineaktivitäten" nach Python, und ziehen Sie eine Python Aktivität in den Pipelinebereich.

  2. Wählen Sie die neue Python-Aktivität auf der Canvas aus, wenn sie noch nicht ausgewählt ist.

  3. Wählen Sie die Registerkarte Azure Databricks aus, um einen neuen Azure Databricks verknüpften Dienst auszuwählen oder zu erstellen, der die Python Aktivität ausführt.

     Zeigt die Benutzeroberfläche für eine Python activity.

  4. Wählen Sie die Registerkarte Settings aus, und geben Sie den Pfad innerhalb Azure Databricks einer auszuführenden Python Datei an, optionale Parameter, die übergeben werden sollen, sowie alle zusätzlichen Bibliotheken, die auf dem Cluster installiert werden sollen, um den Auftrag auszuführen.

     Zeigt die Benutzeroberfläche für die Registerkarte

Databricks Python Aktivitätsdefinition

Hier sehen Sie die JSON-Beispieldefinition einer Databricks Python Activity:

{
    "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-Aktivitätseigenschaften

Die folgende Tabelle beschreibt die JSON-Eigenschaften, die in der JSON-Definition verwendet werden:

Eigenschaft Beschreibung Erforderlich
Name Der Name der Aktivität in der Pipeline. Ja
Beschreibung Ein Text, der beschreibt, was mit der Aktivität ausgeführt wird. Nein
Typ Für Databricks Python Activity ist der Aktivitätstyp "DatabricksSparkPython". Ja
linkedServiceName Name des verknüpften Databricks-Diensts, auf dem die Python Aktivität ausgeführt wird. Weitere Informationen zu diesem verknüpften Dienst finden Sie im Artikel Compute verknüpfte Dienste. Ja
pythonFile Der URI der auszuführenden Python Datei. Es werden nur DBFS-Pfade unterstützt. Ja
parameters Befehlszeilenparameter, die an die Python Datei übergeben werden. Es handelt sich um einen Array von Zeichenfolgen. Nein
Bibliotheken Eine Liste der Bibliotheken, die in dem Cluster installiert werden, der den Auftrag ausführen wird. Es kann ein Array vom Typ <Zeichenfolge, Objekt> sein. Nein

Unterstützte Bibliotheken für Databricks-Aktivitäten

In der oben genannten Definition der Databricks-Aktivität geben Sie diese Bibliothekstypen an: 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"
            }
        }
    ]
}

Weitere Informationen zu Bibliothekstypen finden Sie in der Databricks-Dokumentation.

Hochladen einer Bibliothek in Databricks

Sie können die Benutzeroberfläche des Arbeitsbereichs verwenden:

  1. Verwenden der Benutzeroberfläche des Databricks-Arbeitsbereichs

  2. Sie können den DBFS-Pfad der hinzugefügten Bibliothek über die Benutzeroberfläche mithilfe der Databricks-Befehlszeilenschnittstelle abrufen.

    JAR-Bibliotheken werden beim Verwenden der Benutzeroberfläche in der Regel unter dbfs:/FileStore/jars gespeichert. Sie können alle über die Befehlszeilenschnittstelle auflisten: databricks fs ls dbfs:/FileStore/job-jars

Alternativ können Sie die Databricks-Befehlszeilenschnittstelle verwenden:

  1. Folgen Sie der Anleitung zum Kopieren der Bibliothek mit der Databricks-Befehlszeilenschnittstelle.

  2. Verwenden Sie die Databricks-Befehlszeilenschnittstelle (Installationsschritte).

    Beispielsweise können Sie eine JAR-Datei nach dbfs kopieren: dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar.