Verständnis der grundlegenden Konzepte
Azure Databricks ist eine zentrale Dienstplattform mit mehreren Technologien, die das Arbeiten mit Daten im großen Maßstab ermöglichen. Wenn Sie Azure Databricks verwenden, sollten Sie einige wichtige Konzepte verstehen.
Arbeitsbereiche
Ein Arbeitsbereich in Azure Databricks ist eine sichere, kollaborative Umgebung, in der Sie auf alle Databricks-Ressourcen zugreifen und organisieren können, z. B. Notizbücher, Cluster, Aufträge, Bibliotheken, Dashboards und Experimente.
Sie können einen Azure Databricks-Arbeitsbereich über das Azure-Portal öffnen, indem Sie "Arbeitsbereich starten" auswählen.
Sie stellt eine webbasierte Benutzeroberfläche (UI) sowie REST-APIs zum Verwalten von Ressourcen und Workflows bereit. Arbeitsbereiche können in Ordner strukturiert werden, um Projekte, Datenpipelinen oder Teamressourcen zu organisieren, und Berechtigungen können auf verschiedenen Ebenen angewendet werden, um den Zugriff zu steuern. Sie unterstützen die Zusammenarbeit , indem mehrere Benutzer – z. B. Dateningenieure, Analysten und Datenwissenschaftler – gemeinsam an freigegebenen Notizbüchern zusammenarbeiten, Experimente nachverfolgen und Abhängigkeiten verwalten können.
Darüber hinaus sind Arbeitsbereiche für die zentrale Datengovernance an den Unity-Katalog (sofern aktiviert) gebunden, wodurch der sichere Zugriff auf Daten in der gesamten Organisation sichergestellt wird. Jeder Arbeitsbereich ist auch mit einer zugrunde liegenden Azure-Ressourcengruppe (einschließlich einer verwalteten Ressourcengruppe) verknüpft, die die Compute-, Netzwerk- und Speicherressourcen enthält, die Databricks im Hintergrund verwendet.
Notebooks
Databricks-Notizbücher sind interaktive, webbasierte Dokumente, die runnablen Code, Visualisierungen und narrativen Text in einer einzigen Umgebung kombinieren. Sie unterstützen mehrere Sprachen , z. B. Python, R, Scala und SQL, und ermöglichen Benutzern den Wechsel zwischen Sprachen innerhalb desselben Notizbuchs mithilfe von Magischen Befehlen. Diese Flexibilität macht Notizbücher gut geeignet für explorative Datenanalyse, Datenvisualisierung, Machine Learning-Experimente und das Erstellen komplexer Datenpipelinen.
Notizbücher sind auch für die Zusammenarbeit konzipiert: Mehrere Benutzer können Zellen gleichzeitig bearbeiten und ausführen, Kommentare hinzufügen und Einblicke in Echtzeit teilen. Sie sind eng in Databricks-Cluster integriert, sodass Benutzer große Datasets effizient verarbeiten und über den Unity-Katalog eine Verbindung mit externen Datenquellen herstellen können, um den Datenzugriff zu regeln. Darüber hinaus können Notizbücher versionsgesteuert, als Aufträge geplant oder für die Freigabe außerhalb der Plattform exportiert werden, sodass sie sowohl für Ad-hoc-Erkundungen als auch für Produktionsworkflows zentral sind.
Notizbücher enthalten eine Sammlung von zwei Zelltypen: Codezellen und Markdown-Zellen. Codezellen enthalten ausführbaren Code. Markdownzellen enthalten Markdown-Code, der als Text und Grafiken gerendert wird. Sie können eine einzelne Zelle, eine Gruppe von Zellen oder das gesamte Notizbuch ausführen .
Cluster
Azure Databricks nutzt eine zweistufige Architektur:
- Steuerungsebene: Diese interne Ebene, die von Microsoft verwaltet wird, behandelt Back-End-Dienste speziell für Ihr Azure Databricks-Konto.
- Compute-Ebene: Dies ist die externe Schicht, die die Daten verarbeitet und innerhalb Ihres Azure-Abonnements betrieben wird.
Cluster sind die wichtigsten Rechenmodule in Azure Databricks. Sie bieten die Verarbeitungsleistung, die zum Ausführen von Datentechnik-, Data Science- und Analyseaufgaben erforderlich ist. Jeder Cluster besteht aus einem Treiberknoten, der die Ausführung koordiniert, und einen oder mehrere Workerknoten, die die verteilten Berechnungen verarbeiten. Cluster können manuell mit festen Ressourcen erstellt oder automatisch skaliert werden, sodass Databricks Arbeitsknoten je nach Workloadbedarf hinzufügen oder entfernen können. Diese Flexibilität sorgt für eine effiziente Ressourcennutzung und Kostenkontrolle.
Azure Databricks Compute bietet eine breite Palette von Computeoptionen für verschiedene Workloadtypen:
- Serverlose Berechnung: Vollständig verwaltete, on-Demand-Berechnung, die automatisch nach oben oder unten skaliert wird, um die Workloadanforderungen zu erfüllen. Ideal für Teams, die schnelle Startzeiten, minimaler Verwaltungsaufwand und eine flexible Skalierung wünschen.
- Klassische Berechnung: Vom Benutzer bereitgestellte und konfigurierte Cluster, die vollständige Kontrolle über Computeeinstellungen wie VM-Größen, Bibliotheken und Laufzeitversionen bieten. Am besten geeignet für spezialisierte Workloads, die Anpassungen oder eine konsistente Leistung erfordern.
- SQL Warehouses: Computeressourcen, die für SQL-basierte Analysen und BI-Abfragen optimiert sind. SQL-Lagerhäuser können je nach Governance und Leistungsanforderungen als serverlose (elastisch, verwaltet) oder klassisch (benutzerkonfiguriert) bereitgestellt werden.
Auf diese Weise können Sie die Berechnung auf bestimmte Anforderungen anpassen – von explorativer Analyse in Notizbüchern bis hin zu umfangreichen ETL-Pipelines bis hin zu leistungsstarken Dashboards und Berichten.
Databricks Runtime
Die Databricks Runtime ist eine Reihe angepasster Builds von Apache Spark , die Leistungsverbesserungen und zusätzliche Bibliotheken enthalten. Diese Laufzeiten erleichtern die Verarbeitung von Aufgaben wie Maschinelles Lernen, Graphverarbeitung und Genomik, während gleichzeitig allgemeine Datenverarbeitung und -analyse unterstützt werden.
Databricks stellt mehrere Laufzeitversionen bereit, einschließlich long-term support (LTS)- Versionen. Jede Version gibt die zugrunde liegende Apache Spark-Version, das Veröffentlichungsdatum und das Ende des Supports an. Im Laufe der Zeit folgen ältere Laufzeitversionen einem Lebenszyklus:
- Legacy – verfügbar, aber nicht mehr empfohlen.
- Veraltet – für die Entfernung in einer zukünftigen Version markiert.
- Ende des Supports (EoS) – es werden keine weiteren Patches oder Fixes bereitgestellt.
- Ende des Lebens (EoL) – eingestellt und nicht mehr verfügbar.
Wenn ein Wartungsupdate für eine von Ihnen verwendete Laufzeitversion veröffentlicht wird, können Sie es anwenden, indem Sie den Cluster neu starten.
Lakeflow-Aufträge
Lakeflow-Aufträge bieten Workflowautomatisierung und -orchestrierung in Azure Databricks, wodurch es möglich ist, Datenverarbeitungsaufgaben zuverlässig zu planen, zu koordinieren und auszuführen. Anstatt Code manuell auszuführen, können Sie Aufträge verwenden, um sich wiederholende oder produktionsspezifische Workloads wie ETL-Pipelines, Maschinelles Lernen oder Dashboardaktualisierungen zu automatisieren.
Ein Auftrag in Databricks ist im Wesentlichen ein Container für eine oder mehrere Aufgaben. Aufgaben definieren die zu erledigende Arbeit – z. B. Ausführen eines Notizbuchs, Ausführen eines Spark-Auftrags, Aufrufen von externem Code, ...
Aufträge können auf unterschiedliche Weise ausgelöst werden:
- Nach einem Zeitplan (z. B. jeden Abend um Mitternacht).
- Als Reaktion auf ein Ereignis.
- Manuell, bei Bedarf.
Da sie wiederholbar sind und verwaltet werden, sind Aufträge für Produktionsworkloads von entscheidender Bedeutung. Sie stellen sicher, dass Datenpipelinen konsistent ausgeführt werden, ML-Modelle werden auf kontrollierte Weise trainiert und bereitgestellt, und nachgeschaltete Systeme erhalten aktualisierte, genaue Daten.
Delta Lake
Delta Lake ist ein Open-Source-Speicherframework, das die Zuverlässigkeit und Skalierbarkeit von Data Lakes verbessert, indem es Transaktionsfunktionen auf Cloud-Objektspeicher, wie Azure Data Lake Storage, aufbaut. Herkömmliche Datenseen können unter Problemen wie inkonsistenten Daten, teilweisen Schreibvorgängen oder Schwierigkeiten beim Verwalten des gleichzeitigen Zugriffs leiden. Delta Lake behebt diese Probleme durch Unterstützung:
- ACID-Transaktionen (Atomität, Konsistenz, Isolation, Haltbarkeit) für zuverlässige Lese- und Schreibvorgänge.
- Skalierbare Metadatenverarbeitung , sodass Tabellen ohne Leistungsverlust auf Milliarden von Dateien wachsen können.
- Datenversionsverwaltung und Rollback, wodurch Zeitreiseabfragen und Wiederherstellung früherer Zustände aktiviert werden.
- Einheitliche Batch- und Streamingverarbeitung, sodass die gleiche Tabelle echtzeitbasierte Erfassungen und historische Batchlasten verarbeiten kann.
Auf dieser Grundlage bieten Delta-Tabellen eine vertraute Tabellenstraktion, die die Arbeit mit strukturierten Daten mithilfe von SQL-Abfragen oder der DataFrame-API erleichtert. Delta-Tabellen sind das Standardtabellenformat in Azure Databricks, um sicherzustellen, dass neue Daten standardmäßig mit Transaktionsgarantien gespeichert werden.
Databricks SQL
Databricks SQL bringt Data-Warehouse-Fähigkeiten in die Databricks Lakehouse-Architektur, sodass Analysten und Geschäftsbenutzer Daten abfragen und visualisieren können, die in offenen Formaten direkt im Datenlake abgelegt sind. Es unterstützt ANSI SQL, sodass jeder, der mit SQL vertraut ist, Abfragen ausführen, Berichte erstellen und Dashboards erstellen kann, ohne neue Sprachen oder Tools erlernen zu müssen.
Databricks SQL ist nur in der Premium-Stufe von Azure Databricks verfügbar. Sie umfasst Folgendes:
- Ein SQL-Editor zum Schreiben und Ausführen von Abfragen.
- Dashboards und Visualisierungstools zum Teilen von Erkenntnissen.
- Integration in externe BI- und Analysetools.
SQL Warehouses
Alle Sql-Abfragen von Databricks werden in SQL-Warehouses (früher als SQL-Endpunkte bezeichnet) ausgeführt, die skalierbare Computeressourcen vom Speicher entkoppelt sind. Je nach Leistungs-, Kosten- und Managementanforderungen stehen verschiedene Lagertypen zur Verfügung:
Serverlose SQL Warehouses
- Sofortige und elastische Berechnung mit schnellem Start und automatischer Skalierung.
- Geringer Verwaltungsaufwand , da Databricks Kapazität, Patching und Optimierung verarbeitet.
- Kosteneffizienz durch automatische Skalierung und Vermeidung leerer Ressourcenkosten.
Pro SQL Warehouses
- Anpassbarer, aber langsamer zu starten (≈4 Minuten).
- Weniger reaktionsfähige automatische Skalierung im Vergleich zu serverlosen Servern.
- Nützlich, wenn konsistente, vorhersagbare Workloads erforderlich sind.
Klassische SQL Warehouses
- Computeressourcen werden in Ihrem eigenen Azure-Abonnement ausgeführt, nicht in Databricks.
- Weniger flexibel als serverlos, kann jedoch für bestimmte Governance- oder Kostenverwaltungsanforderungen bevorzugt werden.
MLflow
MLflow ist eine Open-Source-Plattform zur Verwaltung des End-to-End Machine Learning (ML)-Lebenszyklus. Es hilft Datenwissenschaftlern und ML-Ingenieuren, Experimente zu verfolgen, Modelle zu verwalten und den Prozess des Verschiebens von Modellen von der Entwicklung zur Produktion zu optimieren. MLflow unterstützt auch generative KI-Workflows und umfasst Tools zum Auswerten und Verbessern von KI-Agents.