Übersicht über Azure Databricks-Konfigurationen
Azure Databricks ist eine Cloud-basierte Plattform, die die besten Funktionen von verknüpfen und Data Science kombiniert. Sie können damit Datenpipelines mithilfe von Apache Spark erstellen, verwalten und analysieren, einem schnellen und skalierbaren Open-Source-Framework für die Big-Data-Verarbeitung. Azure Databricks bietet außerdem einen kollaborativen Arbeitsbereich für Datenwissenschaftler und Ingenieure, um gemeinsam an Maschinelles Lernen- und künstlichen Intelligenzprojekten zu arbeiten.
Wenn Sie in der Regierung oder im öffentlichen Sektor arbeiten, bietet Ihnen diese Dokumentation zur Referenzarchitektur fundierte Anleitungen zur Verwendung von Azure-Databricks mit einer Sovereign Landing Zone oder einer Azure-Landing Zone-Bereitstellung mit angewandten Grundlinieninitiativen für Souveränitätsrichtlinien .
Die Azure Databricks-Produktdokumentation bietet umfangreiche Informationen zu verschiedenen Artikeln. Dieses Dokument ergänzt die Dokumentation, indem es Ihnen ausgewählte Empfehlungen zu wichtigen Konzepten und Optionen zur Konfiguration eines Azure Databricks Umgebung gibt.
Hauptfunktionen von Azure Databricks
Azure Databricks verfügt über einen umfangreichen Funktionsumfang, aber für diese Referenzarchitektur konzentrieren wir uns auf seine Infrastrukturelemente. Azure Databricks bietet:
Interaktive Notebooks: Verwenden Sie Notebooks, um Code in Python, Scala, SQL oder R zu schreiben und visualisieren Sie die Ergebnisse mit Diagrammen und Grafiken. Teilen und kommentieren Sie Notebooks mit Teammitgliedern und integrieren Sie sie in beliebte Tools wie GitHub und Azure DevOps.
Rechenoptionen: Azure Databricks bietet verschiedene Rechenoptionen zur Unterstützung von Datentechnik-, Data-Science- und Datenanalyse-Workloads. Zu diesen Optionen gehören bedarfsgesteuerte, skalierbare serverlose Berechnungen für Notebooks und Jobs, bereitgestellte Berechnungen für allgemeine Analysen und automatisierte Jobs sowie SQL-Warehouses zum Ausführen von SQL-Befehlen. Instanzpools bieten inaktive, gebrauchsfertige Instanzen, um die Start- und Autoskalierungszeiten zu verkürzen und so die Effizienz in verschiedenen Datenverarbeitungsszenarien zu verbessern.
Datenintegration: Einfaches Verbinden zu verschiedenen Datenquellen und -zielen, wie z. B. Azure Blob Storage, Azure Data Lake Storage, Azure SQL Datenbank, Azure Synapse Analytics, Azure Cosmos DB und mehr. Verwenden Sie Delta Lake, eine zuverlässige und leistungsfähige Data Lake-Lösung, die ACID-Transaktionen und Schemadurchsetzung unterstützt.
Maschinelles Lernen: Erstellen, trainieren und implementieren Sie Maschinelles Lernen-Modelle mit beliebten Frameworks wie TensorFlow, PyTorch, Scikit-learn und XGBoost. Verwenden Sie MLflow, eine Open-Source-Plattform zur Verwaltung des Lebenszyklus von Maschinelles Lernen, um Experimente zu verfolgen, Metriken zu protokollieren und Modelle bereitzustellen.
Unternehmenssicherheit: Greifen Sie sicher auf Ihre Daten zu und verarbeiten Sie sie sicher mit Funktionen wie rollenbasierter Zugriffskontrolle, Verschlüsselung, Auditing und Compliance. Integrieren Sie Azure Databricks mit Microsoft Entra ID, Azure Key Vault und Azure Private verknüpfen für Identitäts- und Datenschutz.
Datenverwaltung und -freigabe: Unity Catalog vereinfacht die Datenfreigabe innerhalb von Organisationen und sichere Analysen in der Cloud, indem es eine verwaltete Version von Delta Sharing für die externe Freigabe und ein einheitliches Datenverwaltungsmodell für die Daten bereitstellt Lakehouse.
Hochwertige Databricks-Architektur
Azure Databricks arbeitet auf einer Steuerungsebene und einer Rechenebene. Die Referenzarchitektur empfiehlt Konfigurationsoptionen in jeder dieser Steuerebenen. Das folgende Diagramm beschreibt die allgemeine Azure Databricks-Architektur.
Kontrollebene
Die Steuerebene ist das Ebene von Azure Databricks, das den Lebenszyklus von Clustern und Jobs sowie die Authentifizierung und Autorisierung von Benutzern und Datenzugriff verwaltet. Die Steuerebene umfasst die von Azure Databricks in Ihrem Azure Databricks-Konto verwalteten Backend-Dienste. Die Webanwendung befindet sich in der Steuerebene.
Die Steuerebene läuft in einem Azure-Abonnement, das Azure Databricks gehört, und kommuniziert über sichere APIs mit den klassischen und serverlosen Rechenebenen. Die Steuerebene stellt auch die Weboberfläche und REST-APIs bereit, damit Benutzer mit Azure Databricks interagieren können.
Ebene berechnen
Ihre Daten werden auf der Rechenebene verarbeitet. Es gibt zwei Arten von Rechenebenen: serverlos und klassisch. Die serverlose Rechenebene bietet sofortige und elastische Ressourcen, während die klassische Rechenebene auf einer vorab bereitgestellten Infrastruktur basiert.
Serverlose Rechenebene
Serverloses Computing ist ideal für Ad-hoc-Abfragen, Notebooks und kurzlebige Workloads. Sie können beispielsweise serverloses Computing verwenden, um SQL-Befehle in Notebooks auszuführen oder einfache Jobs auszuführen. In der serverlosen Rechenebene werden Ressourcen in einem Rechenmodell Ebene innerhalb des Databricks-Kontos Azure ausgeführt.
Azure Databricks erstellt eine serverlose Rechenebene in derselben Azure-Region wie Ihre klassische Arbeitsbereichs-Rechenebene. Es betreibt einen Pool von Servern, die sich im Databricks-Konto befinden und auf denen Kubernetes-Container laufen, die innerhalb von Sekunden einem Benutzer zugewiesen werden können. Weitere Informationen finden Sie unter Ankündigung von Databricks Serverless SQL: Sofortige, verwaltete, sichere und produktionsbereite Plattform für SQL-Workloads – Der Databricks-Blog.
Wenn Benutzer gleichzeitig Berichte oder Abfragen ausführen, erweitert die Computerplattform den Cluster schnell um weitere Server, um die gleichzeitige Last zu bewältigen. Databricks verwaltet die gesamte Konfiguration des Servers und führt bei Bedarf automatisch Patches und Upgrades durch. Die Abrechnung für serverloses Computing erfolgt pro Nutzung (beispielsweise pro Abfrageausführung oder Jobausführung).
Auf jedem Server wird eine sichere Konfiguration ausgeführt, und die gesamte Verarbeitung wird durch drei Isolationsebenen geschützt – den Kubernetes-Container, der die Laufzeit hostet, die VM, die den Container hostet, und das virtuelle Netzwerk für den Arbeitsbereich. Jedes Ebene ist in einem Arbeitsbereich isoliert, in dem keine gemeinsame Nutzung oder netzwerkübergreifender Datenverkehr zulässig ist.
Die Container verwenden gehärtete Konfigurationen, VMs werden heruntergefahren und nicht wiederverwendet und der Netzwerkverkehr ist auf Knoten im selben Cluster beschränkt. Alle Berechnungen sind flüchtig, ausschließlich dieser Arbeitslast gewidmet und werden nach Abschluss der Arbeitslast sicher gelöscht.
Der gesamte Datenverkehr zwischen Ihnen, der Steuerebene, der Rechenebene und den Cloud-Diensten wird über das globale Netzwerk von Azure und nicht über das öffentliche Internet geleitet. Die serverlose Rechenebene für serverlose SQL-Warehouses verwendet nicht die vom Kunden konfigurierbare private Azure-Back-End-Konnektivität. Die Databricks-Steuerebene Azure stellt über mTLS eine Verbindung zur serverlosen Rechenebene her, wobei IP-Zugriff nur für die IP-Adresse der Steuerebene zulässig ist.
Der gesamte angeschlossene Speicher ist durch die branchenübliche AES-256-Verschlüsselung geschützt und der gesamte Datenverkehr zwischen dem Benutzer, der Steuerebene, der Rechenebene und den Cloud-Diensten ist mit mindestens TLS 1.2 verschlüsselt. Serverlose SQL-Warehouses verwenden keine vom Kunden verwalteten Schlüssel für verwaltete Datenträger.
Workloads verfügen über keine Berechtigungen oder Anmeldeinformationen für Systeme außerhalb des Umfangs dieses Workloads und der Zugriff auf die Daten erfolgt über Token mit einer kurzen Lebensdauer (eine Stunde). Diese Token werden sicher an jede spezifische Arbeitslast weitergegeben.
Ab Juni 2024 wird Azure Confidential Computing für serverloses Computing nicht mehr unterstützt, aber Ihre Arbeitslast ist durch mehrere Isolationsebenen geschützt, wie im Isolationsdiagramm für serverloses Computing von Azure dargestellt.
Weitere Informationen finden Sie unter Sicheres Bereitstellen Ihrer Workloads auf Serverless Compute.
Klassische Rechenebene
Die klassische Rechenebene eignet sich für Jobs mit langer Laufzeit, Produktionsarbeitslasten und einen gleichbleibenden Ressourcenbedarf. Sie können beispielsweise bereitgestellte Computerleistung für ETL-Pipelines, Maschinelles Lernen-Training und Datentechnik-Aufgaben verwenden.
Eine klassische Rechenebene verfügt über eine natürliche Isolation, da sie in Ihrem eigenen Azure-Abonnement ausgeführt wird. Neue Computerressourcen werden im virtuellen Netzwerk jedes Arbeitsbereichs in Ihrem Azure-Abonnement erstellt und konfiguriert. Die Rechenressourcen bleiben konstant, bis sie ausdrücklich geändert werden, und werden basierend auf dem Instanztyp und der Dauer abgerechnet. Cluster können vom Kunden verwaltete Schlüssel für verwaltete Datenträger verwenden und Spot-Instanzen werden unterstützt.
Azure Databricks-Administratoren können Clusterrichtlinien verwenden, um viele Aspekte der Cluster zu steuern, einschließlich verfügbarer Instanztypen, Databricks-Versionen und Instanzgrößen.
Die virtuelle Netzwerkinjektion von Databricks ist eine Funktion, mit der Sie Azure Databricks-Ressourcen der klassischen Compute-Ebene in Ihrem eigenen virtuellen Netzwerk bereitstellen können. Mithilfe dieser Funktion können Sie Verbinden Azure-Databricks mithilfe von Service-Endpunkten oder privaten Endpunkten sicherer mit anderen Azure-Diensten verbinden. Sie können auch virtuelles Netzwerk-Peering verwenden, um das virtuelle Netzwerk, das in Ihrem Azure-Databricks-Arbeitsbereich ausgeführt wird, mit einem anderen virtuellen Azure-Netzwerk zu verbinden.