Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
- Code importieren: Importieren Sie entweder Ihren eigenen Code aus Dateien oder Git-Repositorys oder, versuchen Sie es mit einem der unten aufgeführten Tutorials. Databricks empfiehlt das Lernen mithilfe interaktiver Databricks-Notebooks.
- Ihren Code auf einem Cluster ausführen: Erstellen Sie entweder einen eigenen Cluster, oder stellen Sie sicher, dass Sie über die Berechtigung verfügen, einen freigegebenen Cluster zu verwenden. Verbinden Sie Ihr Notebook mit dem Cluster, und führen Sie das Notebook aus.
- Dann haben Sie folgende Möglichkeiten:
- Arbeiten mit größeren Datasets mithilfe von Apache Spark
- Hinzufügen von Visualisierungen
- Automatisieren Ihrer Arbeitslast als Aufgabe
- Verwenden des maschinellen Lernens zum Analysieren Ihrer Daten
- Entwickeln in integrierten Entwicklungsumgebungen
- Führen Sie Python-Unit-Tests im Arbeitsbereich aus und verwalten Sie diese
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
- Unter Tutorial: Laden und Transformieren von Daten mit Apache Spark-DataFrames finden Sie eine exemplarische Vorgehensweise, mit der Sie mehr über Apache Spark-DataFrames zur Datenaufbereitung und -analyse erfahren können.
- Lernprogramm: Erstellen und Verwalten von Delta Lake-Tabellen.
- Lernprogramm: Erstellen einer ETL-Pipeline mithilfe der Änderungsdatenerfassung.
Data Science und maschinelles Lernen
- Erste Schritte mit Apache Spark-DataFrames zur Datenaufbereitung und -analyse: Tutorial: Laden und Transformieren von Daten mit Apache Spark-DataFrames
- Tutorial: End-to-End-klassische ML-Modelle auf Azure Databricks. Weitere Beispiele finden Sie in KI- und Machine Learning-Lernprogrammen.
- Mit AutoML können Sie schnell mit der Entwicklung von Machine Learning-Modellen in Ihren eigenen Datasets beginnen. Sein transparenter Ansatz generiert Notebooks mit dem vollständigen Machine Learning-Workflow, die Sie klonen, ändern und erneut ausführen können.
- Verwalten des Lebenszyklus von Modellen in Unity Catalog
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
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.
- Für kleine Workloads, die nur einzelne Knoten benötigen, können Datenanalysten Einzelknotencompute verwenden, um Kosten zu sparen.
- Ausführliche Tipps finden Sie in den Empfehlungen für die Computekonfiguration.
- Administratoren können Clusterrichtlinien einrichten, um die Erstellung von Clustern zu vereinfachen und zu steuern.
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.
- Beginnen Sie mit den Standardbibliotheken in den Versionshinweisen zu Databricks Runtime-Versionen und -Kompatibilität. Verwenden Sie Databricks Runtime für Machine Learning für machine learning Workloads. Eine vollständige Liste der vorinstallierten Bibliotheken finden Sie unter Versionshinweise zu Databricks Runtime-Versionen und -Kompatibilität.
- Passen Sie Ihre Umgebung mit Notebook-bezogenen Python Bibliotheken an, mit denen Sie Ihr Notizbuch oder Ihre Auftragsumgebung mit Bibliotheken aus PyPI oder anderen Repositorys ändern können. Der Magic-Befehl „
%pip install my_library“ installiertmy_libraryauf allen Knoten in Ihrem derzeit angefügten Cluster, ohne andere Workloads auf Compute mit Standardzugriffsmodus zu beeinträchtigen. - Installieren Sie nach Bedarf nicht-Python-Bibliotheken als Compute-scoped libraries.
- Weitere Informationen finden Sie unter Installieren von Bibliotheken.
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.
- Erstellen und Aktualisieren von Aufträgen mithilfe der Databricks-Benutzeroberfläche oder der Databricks-REST-API.
- Mit dem Databricks Python SDK können Sie Aufträge programmgesteuert erstellen, bearbeiten und löschen.
- Die Databricks CLI bietet eine komfortable Befehlszeilenschnittstelle zum Automatisieren von Aufgaben.
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:
- Trainieren von scikit-learn und Nachverfolgung mit MLflow: Zehnminütiges Tutorial: Machine Learning in Databricks mit scikit-learn
- Trainieren von Deep Learning-Modellen: Deep Learning
- Hyperparameteroptimierung: Hyperparameter-Optimierung mit Optuna
- Graph-Analyse: How to use GraphFrames on Azure Databricks
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
- Die Databricks Academy bietet selbstgesteuerte und von Dozenten geleitete Kurse zu vielen Themen an.
- Databricks Labs bietet Tools für die Python Entwicklung in Databricks wie dem pytest Plugin und dem pylint Plugin. Azure Databricks bietet außerdem Features zum Verwalten von Python Komponententestdateien im Arbeitsbereich.
- Zu den Features, die die Interoperabilität zwischen PySpark und Pandas unterstützen, gehören die folgenden:
- Python- und SQL-Datenbankkonnektivitätstools umfassen:
- Mit dem SQL-Connector Databricks für Python können Sie sql-Befehle mit Python Code für Azure Databricks Ressourcen ausführen.
- mit pyodbc können Sie über ODBC eine Verbindung von Ihrem lokalen Python Code mit Daten herstellen, die im Databricks Lakehouse gespeichert sind.
- Häufig gestellte Fragen und Tipps zum Verschieben von Python Workloads in Databricks finden Sie in der Databricks Knowledge Base.