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:

Anleitungen

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

Debug in Python Notizbüchern

Das Beispielnotizbuch veranschaulicht die Verwendung des Python Debuggers (pdb) in Databricks-Notizbüchern. Um den Python Debugger zu verwenden, 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 variable Explorer verwenden, um den aktuellen Wert von Python Variablen in der Notizbuchbenutzeroberfläche nachzuverfolgen. Sie können den Variablen-Explorer verwenden, um die Werte von Python-Variablen zu beobachten, während Sie durch die Haltepunkte gehen.

Python Debuggerbeispielnotizbuch

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 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 können sowohl single-machine als auch verteilte Python Workloads ausführen. Für das Einzelmaschinen-Computing können Sie Python-APIs und -Bibliotheken wie gewohnt verwenden, z. B. werden pandas und scikit-learn einfach funktionieren. Für verteilte Python Workloads bietet Databricks zwei beliebte APIs aus der Box: PySpark- und Pandas-API auf Spark.

PySpark-API

PySpark ist die offizielle Python-API für Apache Spark und kombiniert die Leistungsfähigkeit von Python und Apache Spark. PySpark ist flexibler als die Pandas-API auf Spark und bietet umfassende Unterstützung und Funktionen für Data Science und Engineering-Funktionen 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 für Spark ist auf Clustern verfügbar, die Databricks Runtime 10.0 und höher ausführen. Verwenden Sie für Cluster, die Databricks Runtime 9.1 LTS und darunter ausführen, stattdessen Koalas .

pandas ist ein Python Paket, das häufig von Data Scientists für Datenanalyse und Manipulation 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-Notizbücher 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 Status Ihres Notizbuchs zurückzusetzen, starten Sie den iPython-Kernel neu. Für Jupyter-Benutzer entspricht die Option "Kernel neu starten" in Jupyter dem Starten einer neuen Sitzung in Databricks. Um den Kernel in einem Python-Notizbuch neu zu starten, klicken Sie auf die Berechnungsauswahl in der Notizbuchsymbolleiste, und fahren Sie mit der Maus über den angehängten Cluster oder das SQL Warehouse in der Liste, um ein Seitenmenü anzuzeigen. Wählen Sie "Neue Sitzung" aus. Dadurch wird eine neue Sitzung gestartet, die den Python Prozess neu startet.

Mit Databricks-Git-Ordnern können Benutzer Notebooks und andere Dateien mit Git-Repositorys synchronisieren. Git-Ordner von Databricks helfen bei der Codeversionsverwaltung und Zusammenarbeit und können das Importieren eines vollständigen Repositorys von Code in Azure Databricks, das Anzeigen früherer Notizbuchversionen und die Integration in die 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 stellt die Computeverwaltung für Cluster beliebiger Größe bereit: von einzelnen Knotenclustern 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 out-of-the-box bietet, darunter Apache Spark, Delta Lake, Pandas und vieles mehr. Sie können auch zusätzliche Drittanbieter- oder benutzerdefinierte Python Bibliotheken installieren, die mit Notizbüchern 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 Notizbücher, Python-Skripte und Python-Wheel-Dateien ausführen.

Tipp

Wenn Sie ein Python Skript anstelle eines Notizbuchs planen möchten, verwenden Sie das Feld spark_python_task unter tasks im Textkörper einer Anforderung zum Erstellen von Stellen.

Maschinelles Lernen

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, die beliebte Python Tools wie scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib und XGBoost umfasst. Sie können auch benutzerdefinierte Bibliotheken installieren.

Für Machine Learning-Vorgänge (MLOps) stellt Azure Databricks einen verwalteten Dienst für den open source Bibliotheks-MLflow bereit. 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 im MLflow auf Databricks oder im MLflow-Python-API-Dokumentation.

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

IDEs, Entwicklertools und SDKs

Zusätzlich zur Entwicklung von Python-Code in Azure Databricks-Notizbüchern können Sie extern Python-Code mit 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. Siehe Azure Databricks Git-Ordner.
  • Libraries und Jobs: Sie können Bibliotheken (z. B. Python Raddateien) 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 Installieren von Bibliotheken und Lakeflow-Aufträgen.
  • 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 große Berechnungen auf Azure Databricks Clustern auszuführen. Weitere Informationen finden Sie unter Databricks Connect.

Databricks bietet eine Reihe von SDKs, einschließlich eines Python SDK, 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 Lokale Entwicklungstools.

Zusätzliche Ressourcen

  • Häufig gestellte Fragen und Tipps zum Verschieben von Python Workloads in Databricks finden Sie in der Databricks Knowledge Base.