Kurs
Mastering Databricks SQL: Ein umfassender Leitfaden für Data Analytics und BI Workloads
Databricks SQL ist ein leistungsstarkes Tool für die Datenverwaltung und -analyse innerhalb der Databricks Lakehouse-Plattform. Diese Plattform integriert Data Engineering, Data Science und Business Analytics zu einem einheitlichen Erlebnis. Daher ist Databricks SQL wichtig für Datenexperten, die ihre Daten-Workflows, die Ausführung von Abfragen und BI-Aufgaben ohne die Komplexität des traditionellen Infrastrukturmanagements rationalisieren wollen.
In diesem Artikel gehe ich auf die Komponenten, Funktionen und Werkzeuge von Databricks SQL ein und zeige praktische Beispiele für die Erstellung und Verwendung von Databricks SQL Warehouse. Für den Anfang empfehle ich dir den DataCamp-Kurs "Einführung in Databricks ", um mehr über Databricks als Data-Warehousing-Lösung für Business Intelligence (BI) zu erfahren, die SQL-optimierte Funktionen zum Erstellen von Abfragen und Analysieren von Daten nutzt.
Was ist Databricks SQL?
Databricks SQL ist ein robustes Analysetool innerhalb der Databricks Lakehouse-Plattform, mit dem Datenexperten SQL-Abfragen ausführen, Daten analysieren und interaktive Dashboards erstellen können. Databricks SQL wurde mit einer serverlosen Architektur entwickelt und kombiniert die Flexibilität von Data Lakes mit den Governance- und Leistungsfähigkeiten von Data Warehouses.
Zu den wichtigsten Komponenten von Databricks SQL gehören SQL Warehouses, SQL Editors und SQL Dashboards. Mach dir keine Sorgen, wenn du mit diesen Begriffen nicht vertraut bist, denn ich werde weiter unten auf die Bedeutung der einzelnen Begriffe eingehen.
Kernkomponenten von Databricks SQL
Die SQL-Kernkomponenten von Databricks ermöglichen effiziente Abfragen, Datenvisualisierung und Zusammenarbeit zwischen den Nutzern. Im Folgenden findest du einen Überblick über die wichtigsten Werkzeuge und Funktionen von Databricks SQL.
SQL-Lagerhäuser
SQL Warehouses dienen als Rechenressourcen für die Ausführung von SQL-Abfragen in Databricks SQL. Sie sind so konzipiert, dass sie unterschiedliche Arbeitslasten bewältigen können und je nach Art des ausgewählten Lagers Leistungsoptimierungen bieten. Es gibt drei Haupttypen von SQL Warehouses:
- Klassiker: Dieser Typ unterstützt grundlegende Funktionen und ist für den Einstieg geeignet. Sie nutzt die bestehende Rechenschicht in deinem Cloud-Konto, verfügt aber nicht über erweiterte Funktionen wie Intelligent Workload Management (IWM) und Predictive IO.
- Pro: Pro SQL Warehouses bieten eine verbesserte Leistung mit Unterstützung für Photon, eine vektorisierte Abfrage-Engine, die SQL-Operationen beschleunigt und die Sicherheitsoptionen verbessert.
- Serverless Eliminiert das Infrastrukturmanagement, indem es automatisch Ressourcen bereitstellt, elastisch skaliert und die Ausführung von Abfragen mit niedriger Latenz gewährleistet. Sie sind ideal für Umgebungen mit schwankenden Arbeitslasten und bieten eine kostengünstige Leistung.
SQL Warehouse in Databricks SQL. Bild vom Autor.
SQL Editor
Der SQL-Editor ist eine benutzerfreundliche Oberfläche, mit der du SQL-Abfragen schreiben, ausführen und verwalten kannst. Zu den wichtigsten Funktionen des SQL-Editors gehören:
- Intuitives Abfragen: Unterstützt Syntaxhervorhebung, Autovervollständigung und Fehlererkennung für effizientes Schreiben von Abfragen.
- Datenvorschau: Du kannst dir die Daten direkt im Editor in der Vorschau ansehen, was es einfacher macht, Datensätze zu verstehen, bevor du komplexe Abfragen ausführst.
- Caching von Abfrageergebnissen: Diese Funktion verbessert die Leistung, indem sie frühere Abfrageergebnisse zwischenspeichert und so schnellere Antwortzeiten bei wiederholten Abfragen ermöglicht.
- Parametrisierte Abfragen: Du kannst dynamische Abfragen erstellen, indem du Parameter einfügst. Das vereinfacht die Ausführung ähnlicher Abfragen mit unterschiedlichen Werten.
SQL Editor in Databricks SQL. Bild vom Autor.
Dashboards
Dashboards ermöglichen die Visualisierung von Daten, indem sie Abfrageergebnisse in interaktive Diagramme, Grafiken und Widgets umwandeln. Dashboards sind ideal, um wichtige Kennzahlen zu überwachen und Erkenntnisse effektiv im Unternehmen zu kommunizieren. Zu den wichtigsten Funktionen von Dashboards gehören die folgenden:
- Echtzeit-Analytik: Aktualisiere Dashboards automatisch auf der Grundlage von Live-Abfrageergebnissen.
- Kollaboration: Teile Dashboards mit anderen Teams, um datengestützte Entscheidungen zu fördern.
- Anpassungen: Wähle aus einer Vielzahl von Visualisierungsarten und Layout-Optionen, um deinen Bedürfnissen gerecht zu werden.
Dashboards in Databricks SQL. Bild vom Autor.
Warnungen
Alerts in Databricks SQL bieten eine Möglichkeit, Datenänderungen zu überwachen und Benachrichtigungen auszulösen, wenn bestimmte Bedingungen erfüllt sind. Warnmeldungen sind wichtig, um die Datenqualität zu erhalten und rechtzeitig auf wichtige Änderungen reagieren zu können. Die Warnfunktion funktioniert folgendermaßen.
- Bedingungen festlegen: Definiere Schwellenwerte oder Regeln auf der Grundlage von Abfrageergebnissen.
- Benachrichtigungen auslösen: Erhalte Benachrichtigungen per E-Mail, Slack oder über andere Integrationen, wenn die Bedingungen erfüllt sind.
- Proaktive Überwachung: Bleibe über kritische Ereignisse wie Datenanomalien oder Systemprobleme in Echtzeit informiert.
Abfrageverlauf und Profiling
Abschließend möchte ich noch erwähnen, dass Databricks SQL Tools zum Verfolgen des Lernpfads und zur Profilerstellung bietet:
- Abfrageverlauf: Mit dieser Funktion können Nutzer/innen früher ausgeführte Abfragen überprüfen und erhalten so einen Einblick in ihre Leistung im Laufe der Zeit. Es hilft, Trends oder wiederkehrende Probleme zu erkennen.
- Query Profiling: Query-Profiling-Tools analysieren die Effizienz der ausgeführten Abfragen, zeigen Engpässe auf und schlagen Optimierungen vor. Diese Fähigkeit ist wichtig, um die allgemeine Abfrageleistung und die Ressourcennutzung zu verbessern.
Abfrageverlauf in Databricks SQL. Bild vom Autor.
Wichtige Funktionen und Werkzeuge in Databricks SQL
Databricks SQL ist vollgepackt mit fortschrittlichen Funktionen und Tools. Diese Funktionen wurden entwickelt, um die Leistung zu verbessern, Arbeitsabläufe zu optimieren und eine nahtlose Integration mit anderen Tools zu ermöglichen. Sehen wir uns einige der wichtigsten Dinge an, die Databricks SQL zu einer so guten Wahl machen.
Photonenmotor
Die Photon Engine ist eine leistungsstarke, vektorisierte Abfrage-Engine, die von Databricks entwickelt wurde, um die Ausführung von SQL-Abfragen erheblich zu beschleunigen. Zu den wichtigsten Vorteilen der Photon Engine gehören die folgenden:
- Vektorisierte Ausführung: Im Gegensatz zur traditionellen zeilenweisen Verarbeitung verwendet Photon eine vektorisierte Ausführung, bei der die Daten in Stapeln verarbeitet werden. Dieser Ansatz ermöglicht es, fortschrittliche CPU-Befehle wie SIMD (Single Instruction, Multiple Data) für mehr Effizienz zu nutzen.
- Integration in bestehende Workloads: Photon ist vollständig kompatibel mit den Apache Spark-APIs, d.h. die Nutzer können es aktivieren, ohne den bestehenden Code zu ändern. Dank dieser nahtlosen Integration können Unternehmen von einer verbesserten Leistung profitieren, ohne dass umfangreiche Nacharbeiten erforderlich sind.
- Zwischenspeichern und Optimieren: Die Engine enthält einen fortschrittlichen Abfrageoptimierer und eine Caching-Schicht, die auf intelligente Weise auswählt, welche Daten zwischengespeichert werden sollen, um die Abfrageleistung weiter zu verbessern.
CloudFetch und Async I/O
CloudFetch und Async I/O sind Funktionen, die die Geschwindigkeit der Datenübertragung und den Umgang mit kleinen Dateien während der Ausführung von Abfragen verbessern. Diese Funktionen funktionieren auf folgende Weise:
- CloudFetch: Diese Funktion optimiert das Zurückschreiben der Ergebnisse in den Cloud-Speicher, indem sie parallele Schreibvorgänge auf allen Rechenknoten ermöglicht. Sie verkürzt die Zeit, die für die Übertragung großer Datensätze an die Kunden benötigt wird, erheblich und erreicht in realen Szenarien eine bis zu 10-mal schnellere Leistung.
- Async I/O: Diese Funktion verbessert den Umgang mit kleinen Dateien, indem sie mehrere Datenblöcke gleichzeitig liest, während sie die aktuellen Blöcke verarbeitet. Dieser Ansatz kann die Gesamtabfrageleistung bei kleinen Dateien (z. B. 1 MB) um das bis zu 12-fache steigern. Sie ist besonders effektiv für Szenarien mit vielen kleinen Dateien oder "kalten Daten", die nicht zwischengespeichert sind.
Integration mit BI-Tools
Databricks SQL lässt sich nahtlos in gängige Business Intelligence (BI)-Tools integrieren und erleichtert Teams die Analyse und Visualisierung von Daten. Zu den unterstützten Integrationen gehören die folgenden:
- Power BI: Nutzer/innen können ihren Databricks-Arbeitsbereich direkt mit Power BI verbinden, was eine einfache Synchronisierung der Datenmodelle ermöglicht. So können Analysten beispielsweise Berichte direkt aus Databricks in Power BI veröffentlichen und dabei definierte Beziehungen zwischen Tabellen ohne manuelle Eingriffe beibehalten.
- Tableau: Nutzer können Live-Verbindungen nutzen, um in Databricks SQL gespeicherte Daten zu visualisieren. Diese Integration ermöglicht Echtzeit-Analysen und interaktive Dashboards, die die neuesten Datenaktualisierungen widerspiegeln.
- dbt: Databricks SQL ist auch mit dbt (data build tool) integriert, so dass die Teams ihre Transformationen direkt in der Databricks-Umgebung verwalten können. Diese Integration unterstützt inkrementelle Modelle und materialisierte Ansichten und vereinfacht den Aufbau und die Pflege robuster Datenpipelines.
Serverlose Architektur
Die serverlose Architektur von Databricks SQL macht die manuelle Verwaltung der Infrastruktur überflüssig, da die Ressourcen automatisch entsprechend den Arbeitsanforderungen bereitgestellt und skaliert werden. Die serverlose Architektur passt die Ressourcen automatisch an, um unterschiedliche Abfragelasten ohne Ausfallzeiten zu bewältigen. Diese Funktion sorgt dafür, dass die Nutzer/innen die Cluster nicht manuell konfigurieren oder warten müssen. Die serverlose Architektur ist auch kosteneffizient, da die Nutzer nur für die Ressourcen zahlen, die während der Ausführung der Abfrage genutzt werden.
Ein Einzelhandelsunternehmen hat zum Beispiel während der Hauptgeschäftszeiten ein hohes Anfrageaufkommen. Die serverlose Architektur skaliert automatisch die Ressourcen, um eine gleichbleibende Leistung zu gewährleisten, und reduziert sie außerhalb der Geschäftszeiten, um Kosten zu sparen.
Schritt-für-Schritt-Anleitung zum Erstellen und Verwenden von Databricks SQL Warehouses
Databricks SQL Warehouses sind für die effiziente Ausführung von SQL-Abfragen innerhalb der Databricks-Umgebung unerlässlich. In diesem Abschnitt werde ich dir zeigen, wie du ein SQL-Warehouse erstellst und es mit Notizbüchern verwendest. Wenn du dein Wissen über Data Warehouses auffrischen möchtest, empfehle ich dir unseren Kurs Data Warehousing Concepts, in dem du die Grundlagen der Datenmodellierung und Datentransformation lernst.
Erstellen eines Databricks SQL Warehouse
Befolge diese Schritte, um ein SQL Warehouse mit der Databricks Web UI zu erstellen:
Schritt 1: Navigiere zur Databricks SQL Seite
Im Databricks-Arbeitsbereich klickst du auf das SQL-Symbol in der Seitenleiste.
Databricks SQL-Seite. Bild vom Autor.
Schritt 2: Öffne die Registerkarte SQL-Warehouses
Navigiere auf der Seite SQL zu der Registerkarte SQL-Warehouses.
Databricks SQL Warehouse Registerkarte. Bild vom Autor.
Schritt 3: Klicke auf "Lager erstellen".
Klicke auf die Schaltfläche Warehouse erstellen, um mit der Konfiguration deines neuen SQL Warehouse zu beginnen.
Erstellen von SQL Warehouse auf Databricks SQL. Bild vom Autor.
Schritt 4: Grundeinstellungen konfigurieren
Konfiguriere die Lagereinstellungen mit den folgenden Optionen.
- Name: Gib einen eindeutigen und beschreibenden Namen für dein SQL Warehouse an.
- Clustergröße: Wähle die Größe des Clusters auf der Grundlage deiner Workload-Anforderungen. Es versteht sich von selbst, dass größere Cluster mehr gleichzeitige Abfragen und größere Datensätze verarbeiten.
- Auto-Stop: Lege die Leerlaufzeit fest, um das Lager automatisch anzuhalten, wenn es nicht benutzt wird. Zehn Minuten scheinen mir angemessen. Das spart Kosten, da Ressourcen bei Leerlauf freigegeben werden.
- Skalierung: Aktiviere Auto-Scaling, um die Ressourcen dynamisch an die Abfragelast anzupassen. Gib die minimale und maximale Anzahl von Clustern an, innerhalb derer skaliert werden soll.
- Serverlose Option: Falls in deinem Konto verfügbar, wähle Serverless SQL Warehouse für eine vereinfachte Verwaltung und automatische Skalierung.
Konfiguriere die Grundeinstellungen für Databricks SQL Warehouse. Bild vom Autor.
Schritt 5: Erweiterte Optionen (optional)
Konfiguriere bei Bedarf erweiterte Optionen wie die Aktivierung von Photon oder bestimmte SQL-Konfigurationen.
Konfiguriere die erweiterten Einstellungen für Databricks SQL Warehouse. Bild vom Autor.
Schritt 6: Speichern und starten Sie das Lager
Klicke auf Erstellen, um deine Konfiguration zu speichern. Wenn du das Lager erstellt hast, starte es, um es betriebsbereit zu machen.
Erstellen des Databricks SQL Warehouse. Bild vom Autor.
Schritt 7: Berechtigungen festlegen (Optional)
Nach der Erstellung erscheint ein Berechtigungsmodal, in dem du Benutzern oder Gruppen Zugriff auf das Lager gewähren kannst.
Verwalten von Berechtigungen für Databricks SQL Warehouse. Bild vom Autor.
Sobald es erstellt ist, wird dein SQL-Warehouse automatisch gestartet, sodass du sofort Abfragen ausführen kannst.
Beispiel für Databricks SQL Warehouse. Bild vom Autor.
Verwendung eines Notebooks mit einem Databricks SQL Warehouse
Um SQL-Abfragen in einem Notizbuch mit deinem neu erstellten SQL-Warehouse auszuführen, befolge diese Schritte:
Schritt 1: Ein Notizbuch öffnen oder erstellen
Erstelle im Databricks-Arbeitsbereich ein neues Notizbuch oder öffne ein bestehendes.
Ein neues Notebook erstellen, um Databricks SQL Warehouse zu erstellen. Bild vom Autor.
Schritt 2: Das SQL Warehouse anhängen
Suche in der Notebook-Symbolleiste nach dem Compute Selector oder Connect (wird normalerweise oben angezeigt). Klicke darauf, um ein Dropdown-Menü mit den verfügbaren Rechenressourcen zu öffnen. Wähle dein SQL-Lagerhaus aus der Liste aus. Wenn es nicht sichtbar ist, klicke auf Mehr..., um alle verfügbaren Lagerhäuser anzuzeigen. Klicke auf das gewünschte SQL-Lagerhaus und wähle dann Starten und Anhängen.
Notebook in Databricks SQL Warehouse anhängen. Bild vom Autor.
Schritt 3: SQL-Abfragen schreiben
Sobald sie angehängt ist, kannst du in deinem Notizbuch Zellen für SQL-Abfragen erstellen. Verwende den Befehl %sql
magic, um SQL-Abfragen im Notizbuch auszuführen.
Schreibe SQL-Abfragen in Databricks SQL Warehouse. Bild vom Autor.
Schritt 4: Ausführen der Abfragen
Führe die Zelle aus, um deine Abfrage auszuführen. Die Ergebnisse werden direkt unter der Zelle angezeigt, so dass du die Daten leicht einsehen kannst.
Führe SQL-Abfragen in Databricks SQL Warehouse aus. Bild vom Autor.
Überlegungen zur Verwendung eines Notebooks mit einem SQL Warehouse
Im Folgenden findest du einige Überlegungen zur Verwendung von Notebooks mit SQL Warehouses:
-
Abfrage-Grenzwerte: SQL Warehouses sind für analytische Abfragen optimiert, nicht für häufige Transaktionsabfragen mit niedriger Latenz.
-
Datenvorschau: Bei großen Datensätzen solltest du deine Abfrageergebnisse einschränken, z. B. mit der
LIMIT
Klausel, um Leistungsengpässe zu vermeiden. -
Abfrage-Caching: Nutze das Ergebnis-Caching, um wiederholte Abfragen zu beschleunigen.
-
Ressourcenverwendung: Überwache die Auslastung des SQL Warehouse, um sicherzustellen, dass die Größe des Clusters und die Skalierungseinstellungen den Anforderungen deiner Arbeitslast entsprechen.
Fazit
Databricks SQL ist eine leistungsstarke Plattform, die die Lücke zwischen Data Lakes und Data Warehouses schließt und eine einheitliche Lösung für moderne Datenanalysen und Business Intelligence bietet. Egal, ob du Dashboards erstellst, Abfragen optimierst oder Daten mit Warnmeldungen überwachst, Databricks SQL bietet die Flexibilität und Leistung, die du brauchst, um die Datenherausforderungen von heute zu bewältigen. Ich möchte dich ermutigen, die Funktionen und Möglichkeiten von Databricks SQL zu erkunden, um deine Daten-Workflows zu verbessern, die Zusammenarbeit zu fördern und intelligentere, schnellere Entscheidungen zu treffen.
Wenn du daran interessiert bist, ein professioneller Data Engineer zu werden, empfehle ich dir den Kurs Understanding Data Engineering von DatacMap, um zu lernen, wie Data Engineers Daten speichern und verarbeiten, um die Zusammenarbeit mit Data Scientists zu erleichtern. Ich empfehle dir auch unseren Kurs "Datengestützte Entscheidungsfindung in SQL", in dem du lernst, wie du SQL zur Entscheidungsfindung in realen Projekten einsetzen kannst. Vergiss auch nicht, dir unsere große Auswahl an Cloud-Kursen anzusehen.
Databricks SQL FAQs
Was ist Databricks SQL, und wie unterscheidet es sich von herkömmlichen SQL-Datenbanken?
Databricks SQL ist ein serverloses Analysetool, das für die Databricks Lakehouse-Plattform entwickelt wurde und die Skalierbarkeit von Data Lakes mit der Leistung von Data Warehouses kombiniert.
Wie kann ich die Leistung von Databricks SQL optimieren?
Nutze die Photon-Engine für eine schnellere Abfrageausführung, aktiviere die Zwischenspeicherung von Abfrageergebnissen und konfiguriere die automatische Skalierung in SQL Warehouses, um Arbeitslasten effizient zu bewältigen.
Kann Databricks SQL in bestehende BI-Tools wie Power BI und Tableau integriert werden?
Ja, Databricks SQL lässt sich nahtlos in gängige BI-Tools integrieren und ermöglicht so die Visualisierung von Daten in Echtzeit und eine bessere Zusammenarbeit zwischen Teams.
Welche verschiedenen Arten von SQL-Warehouses gibt es in Databricks SQL, und wie wähle ich das richtige aus?
SQL Warehouses gibt es in den Varianten Classic, Pro und Serverless. Wähle je nach Arbeitsbelastung: Classic für einfache Abfragen, Pro für fortgeschrittene Anwendungsfälle und Serverless für Einfachheit und Skalierbarkeit.
Wie handhabt Databricks SQL die Datenverwaltung und -sicherheit?
Databricks SQL unterstützt fein abgestufte Zugriffskontrollen auf Zeilen- und Spaltenebene und lässt sich mit Identitätsanbietern für eine solide Governance integrieren.
Databricks lernen mit DataCamp
Kurs
Databricks Concepts
Kurs
Data Management in Databricks
Der Blog
Die 32 besten AWS-Interview-Fragen und Antworten für 2024
Der Blog
Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Nisha Arya Ahmed
20 Min.

Der Blog
Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn
Der Blog
2022-2023 DataCamp Classrooms Jahresbericht
Der Blog
Q2 2023 DataCamp Donates Digest
Der Blog
Top 30 Generative KI Interview Fragen und Antworten für 2024

Hesam Sheikh Hassani
15 Min.