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. Fügen Sie Ihr Notebook in den Cluster ein, und führen Sie das Notebook aus.
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.
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.
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.
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 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.
Für kleine Workloads, die nur einzelne Knoten benötigen, können Datenanalysten Einzelknotencompute verwenden, um Kosten zu sparen.
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 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.
Passen Sie Ihre Umgebung mithilfe von Python-Bibliotheken im Notebookbereich an, mit denen Sie Ihre Notebook- oder Auftragsumgebung mit Bibliotheken aus PyPI oder anderen Repositorys ändern können. Der Magic-Befehl %pip install my_library installiert my_library auf allen Knoten in Ihrem derzeit angefügten Cluster, ohne andere Workloads auf freigegebenen Clustern zu beeinträchtigen.
Installieren Sie Nicht-Python-Bibliotheken bei Bedarf als Clusterbibliotheken.
Weitere Informationen finden Sie unter 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:
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.
Mit dem Databricks Python SDK können Sie Aufträge programmgesteuert erstellen, bearbeiten und löschen.
Die Databricks CLI bietet eine komfortable Befehlszeilenschnittstelle zum Aufrufen von Aufträgen.
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:
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:
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
Die Databricks Academy bietet eigenverantwortliche und Präsenzkurse zu vielen Themen.
Azure Databricks ist eine Plattform im Cloudmaßstab für Datenanalyse und Machine Learning. Data Scientists und Machine Learning-Engineers können Azure Databricks verwenden, um Machine-Learning-Lösungen im großen Stil zu implementieren. (DP-3014)
Verwalten Sie Datenerfassung und -vorbereitung, Modelltraining und -bereitstellung sowie die Überwachung von Machine Learning-Lösungen mit Python, Azure Machine Learning und MLflow.