Transformieren von Daten durch Ausführen einer Python-Aktivität in Azure Databricks
GILT FÜR: Azure Data Factory Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
Die Azure Databricks Python Activity 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 für die Ausführung 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:
Suchen Sie im Bereich mit den Pipelineaktivitäten nach Python, und ziehen Sie eine Python-Aktivität in den Pipelinebereich.
Wählen Sie die neue Python-Aktivität im Canvas aus, wenn sie noch nicht ausgewählt ist.
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.
Wählen Sie die Registerkarte Einstellungen aus, und geben Sie den Pfad in Azure Databricks zu einer Python-Datei an, die ausgeführt werden soll, dazu optionale Basisparameter, die übergeben werden sollen, und alle zusätzlichen Bibliotheken, die im Cluster installiert werden sollen, um den Auftrag auszuführen.
Definition der Databricks-Python-Aktivität
Dies ist die JSON-Beispieldefinition der Python-Aktivität in Databricks:
{
"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"
}
}
]
}
}
}
Eigenschaften der Databricks-Python-Aktivität
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 |
description | Ein Text, der beschreibt, was mit der Aktivität ausgeführt wird. | Nein |
type | Bei Python-Aktivitäten in Databricks lautet der Aktivitätstyp DatabricksSparkPython. | Ja |
linkedServiceName | Der Name des verknüpften Databricks-Diensts, in dem die Python-Aktivität ausgeführt wird. Weitere Informationen zu diesem verknüpften Dienst finden Sie im Artikel Von Azure Data Factory unterstützten Compute-Umgebungen. | 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 |
libraries | 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:
Verwenden der Benutzeroberfläche des Databricks-Arbeitsbereichs
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:
Informationen finden Sie unter Kopieren der Bibliotheken mit der Databricks-Befehlszeilenschnittstelle.
Verwenden Sie die Databricks-Befehlszeilenschnittstelle (Installationsschritte).
Kopieren Sie damit beispielsweise eine JAR-Ausgabe in DBFS:
dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar
.