Freigeben über


Azure Databricks für Python-Entwickler

Dieser Abschnitt enthält einen Leitfaden zum Entwickeln von Notizbüchern und Aufträgen in Azure Databricks mithilfe der Python-Sprache, einschließlich Lernprogrammen für allgemeine Workflows und Aufgaben sowie Links zu APIs, Bibliotheken und Tools.

Um zu starten:

Tutorials

In den folgenden Tutorials finden Sie Beispielcode und Notebooks, um gängige Workflows kennenzulernen. Eine Anleitung zum Importieren von Notebookbeispielen in Ihren Arbeitsbereich finden Sie unter Importieren eines Notebooks.

Datentechnik

Data Science und maschinelles Lernen

Debuggen in Python-Notebooks

Das Beispielnotebook veranschaulicht die Verwendung des Python-Debuggers (pdb) in Databricks-Notebooks. Um den Python-Debugger verwenden zu können, müssen Sie Databricks Runtime 11.3 LTS oder höher ausführen.

Mit Databricks Runtime 12.2 LTS und höher können Sie den Variablen-Explorer verwenden, um den aktuellen Wert von Python-Variablen auf der Notebook-Benutzeroberfläche nachzuverfolgen. Sie können den Variablen-Explorer verwenden, um die Werte von Python-Variablen beim Durchlaufen von Breakpoints zu beobachten.

Beispielnotebook für Python-Debugger

Notebook abrufen

Hinweis

breakpoint() wird in IPython nicht unterstützt und funktioniert daher nicht in Databricks-Notebooks. Sie können import pdb; pdb.set_trace() anstelle von breakpoint() verwenden.

Python-APIs

Python-Code, der außerhalb von Databricks ausgeführt wird, kann in der Regel auch innerhalb von Databricks ausgeführt werden und umgekehrt. Wenn Sie bereits über Code verfügen, importieren Sie ihn einfach in Databricks, um loszulegen. Ausführlichere Informationen finden Sie unter Verwalten von Code mit Notebooks und Databricks-Git-Ordnern.

Databricks kann sowohl Workloads auf einem einzelnen Computer als auch verteilte Python-Workloads ausführen. Für das Computing auf einem einzelnen Computer können Sie wie gewohnt Python-APIs und -Bibliotheken verwenden, so funktionieren pandas und scikit-learn z. B. „einfach so“. Für verteilte Python-Workloads bietet Databricks zwei beliebte vorgefertigte APIs: die PySpark-API und die Pandas-API in Spark.

PySpark API

PySpark ist die offizielle Python-API für Apache Spark und kombiniert die Leistungsfähigkeit von Python mit der von Apache Spark. PySpark ist flexibler als die Pandas-API in Spark und bietet umfangreiche Unterstützung sowie Features für Data Science und Engineering wie Spark SQL, Structured Streaming, MLLib und GraphX.

Pandas-API in Spark

Hinweis

Das Koalas-Open-Source-Projekt empfiehlt nun, zur Pandas-API in Spark zu wechseln. Die Pandas-API in Spark ist für Cluster mit der Databricks Runtime 10.0 (EoS) und höher verfügbar. Für Cluster mit Databricks Runtime 9.1 LTS und niedriger können Sie stattdessen Koalas verwenden.

Pandas ist ein Python-Paket, das von wissenschaftlichen Fachkräften für Daten häufig zur Datenanalyse und -bearbeitung verwendet wird. Pandas ist allerdings nicht für Big Data geeignet. Die Pandas-API in Spark schließt diese Lücke durch die Bereitstellung von Pandas-äquivalenten APIs, die mit Apache Spark kompatibel sind. Diese Open-Source-API ist die ideale Wahl für wissenschaftliche Fachkräfte für Daten, die mit pandas, aber nicht mit Apache Spark vertraut sind.

Verwalten von Code mit Notebooks und Databricks-Git-Ordnern

Databricks-Notebooks unterstützen Python. Diese Notebooks bieten ähnliche Funktionen wie Jupyter, jedoch mit Ergänzungen wie integrierten Visualisierungen unter Verwendung von Big Data, Apache Spark-Integrationen für das Debugging und die Leistungsüberwachung sowie MLflow-Integrationen für die Nachverfolgung von Machine Learning-Experimenten. Beginnen Sie mit dem Importieren eines Notebooks. Sobald Sie Zugriff auf einen Cluster haben, können Sie ein Notebook an den Cluster anfügen und das Notebook ausführen.

Tipp

Um den Zustand Ihres Notebooks vollständig zurückzusetzen, kann es sinnvoll sein, den iPython-Kernel neu zu starten. Für Jupyter-Benutzer entspricht die Option „Kernel neu starten“ in Jupyter dem Trennen und erneuten Anfügen eines Notebooks in Databricks. Um den Kernel in einem Python-Notebook neu zu starten, klicken Sie in der Notebook-Symbolleiste auf die Computeauswahl und bewegen Sie den Mauszeiger über den angeschlossenen Cluster oder das SQL-Warehouse in der Liste, um ein Seitenmenü anzuzeigen. Wählen Sie Trennen und wieder anfügen aus. Dadurch wird das Notebook von Ihrem Cluster getrennt und wieder angefügt, wodurch der Python-Prozess neu gestartet wird.

Mit Databricks-Git-Ordnern können Benutzer Notebooks und andere Dateien mit Git-Repositorys synchronisieren. Databricks-Git-Ordner helfen bei der Versionsverwaltung von Code und der Zusammenarbeit und können den Import eines vollständigen Repositorys von Code in Azure Databricks, die Anzeige früherer Notebook-Versionen und die Integration mit der IDE-Entwicklung vereinfachen. Beginnen Sie mit dem Klonen eines Remote-Git-Repositorys. Sie können dann Notebooks mit dem Repository-Klon öffnen oder erstellen, einem Cluster das Notebook anfügen und das Notebook ausführen.

Cluster und Bibliotheken

Azure Databricks-Compute bietet Computeverwaltung für Cluster beliebiger Größe: von Clustern mit nur einem Knoten bis hin zu großen Clustern. Sie können die Clusterhardware und die Bibliotheken Ihren Anforderungen entsprechend anpassen. Wissenschaftliche Fachkräfte für Daten beginnen ihre Arbeit in der Regel entweder mit dem Erstellen eines Clusters oder mit der Verwendung eines vorhandenen freigegebenen Clusters. Sobald Sie Zugriff auf einen Cluster haben, können Sie ein Notebook an den Cluster anfügen oder einen Auftrag im Cluster ausführen.

Azure Databricks-Cluster verwenden eine Databricks Runtime, die viele beliebte Bibliotheken vorgefertigt zur Verfügung stellt, darunter Apache Spark, Delta Lake, pandas und mehr. Sie können auch zusätzliche Python-Bibliotheken von Drittanbietern oder benutzerdefinierte Python-Bibliotheken installieren, die mit Notebooks und Aufträgen verwendet werden.

Visualisierungen

Azure Databricks Python-Notebooks verfügen über integrierte Unterstützung für viele Arten von Visualisierungen. Sie können auch ältere Visualisierungen verwenden.

Sie können Daten auch mithilfe von Bibliotheken von Drittanbietern visualisieren. Einige sind in der Databricks Runtime vorinstalliert, aber Sie können auch benutzerdefinierte Bibliotheken installieren. Zu den beliebten Optionen gehören:

Aufträge

Sie können Python-Workloads als geplante oder ausgelöste Aufträge in Databricks automatisieren. Aufträge können Notebooks, Python-Skripts und Python-Wheel-Dateien ausführen.

Tipp

Um ein Python-Skript anstelle eines Notebooks zu planen, verwenden Sie das spark_python_task-Feld unter tasks im Textkörper einer Anforderung zum Erstellen eines Auftrags.

Machine Learning

Databricks unterstützt eine Vielzahl von Workloads für maschinelles Lernen (ML), einschließlich traditionellem ML für Tabellendaten, Deep Learning für maschinelles Sehen und die Verarbeitung natürlicher Sprache, Empfehlungssysteme, Graphanalysen und mehr. Allgemeine Informationen zum maschinellen Lernen in Databricks finden Sie unter KI und Machine Learning in Databricks.

Für ML-Algorithmen können Sie vorinstallierte Bibliotheken in Databricks Runtime für Machine Learning verwenden, darunter verbreitete Python-Tools wie Scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib und XGBoost. Sie können auch benutzerdefinierte Bibliotheken installieren.

Für Vorgänge des maschinellen Lernens (MLOps) bietet Azure Databricks einen verwalteten Dienst für die Open-Source-Bibliothek MLFlow. Mit der MLflow-Nachverfolgung können Sie die Modellentwicklung aufzeichnen und Modelle in wiederverwendbaren Formaten speichern. Sie können die MLflow Model Registry verwenden, um die Heraufstufung von Modellen in Richtung Produktion zu verwalten und zu automatisieren. Aufträge und Modellbereitstellung ermöglichen Hostingmodelle als Batch- und Streamingaufträge und als REST-Endpunkte. Weitere Informationen und Beispiele finden Sie unter ML-Lebenszyklusverwaltung mit MLflow oder den Dokumenten zur MLflow-Python-API.

Auf den folgenden Seiten finden Sie einen Einstieg in gängige Machine Learning-Workloads:

IDEs, Entwicklertools und SDKs

Neben der Entwicklung von Python-Code innerhalb von Azure Databricks Notebooks können Sie auch extern mithilfe von integrierten Entwicklungsumgebungen (IDEs) wie PyCharm, Jupyter und Visual Studio Code entwickeln. Um die Arbeit zwischen externen Entwicklungsumgebungen und Databricks zu synchronisieren, gibt es mehrere Möglichkeiten:

  • Code: Sie können den Code mithilfe von Git synchronisieren. Weitere Informationen finden Sie unter Git-Integration für Databricks-Git-Ordner.
  • Bibliotheken und Aufträge: Sie können Bibliotheken (z. B. Python-Wheel-Dateien) extern erstellen und in Databricks hochladen. Diese Bibliotheken können in Databricks Notebooks importiert werden, oder Sie können sie verwenden, um Aufträge zu erstellen. Siehe Bibliotheken und Planen und orchestrieren von Workflows.
  • Remotecomputerausführung: Sie können den Code von Ihrer lokalen IDE aus zur interaktiven Entwicklung und zum Testen ausführen. Die IDE kann mit Azure Databricks kommunizieren, um Apache Spark und umfangreiche Berechnungen auf Azure Databricks-Clustern auszuführen. Weitere Informationen finden Sie unter Databricks Connect.

Databricks bietet eine Reihe von SDKs, einschließlich eines Python-SDKs, die Automatisierung und Integration in externe Tools unterstützen. Sie können die Databricks SDKs verwenden, um Ressourcen wie Cluster und Bibliotheken, Code und andere Objekte im Arbeitsbereich, Workloads und Aufträge sowie vieles mehr zu verwalten. Weitere Informationen finden Sie unter Databricks SDKs.

Weitere Informationen zu IDEs, Entwicklertools und SDKs finden Sie unter Entwicklungstools.

Zusätzliche Ressourcen