Filtern und Auswählen von Daten mit SQL
Swipe um das Menü anzuzeigen
Eine Temporary View ist ein sitzungsgebundener Alias für ein DataFrame, der es ermöglicht, mit den Daten über standardisierte SQL-Syntax zu interagieren. Die Daten werden dabei weder verschoben noch dupliziert; es handelt sich lediglich um ein SQL-freundliches „Fenster“ auf das DataFrame, das sich im Arbeitsspeicher des Clusters befindet.
Obwohl Python hervorragend für den Aufbau komplexer Pipelines geeignet ist, bevorzugen viele Datenprofis die Übersichtlichkeit und Geschwindigkeit von SQL beim Filtern und Auswählen von Daten. In Databricks muss keine Entscheidung zwischen beiden Ansätzen getroffen werden. Ein Python DataFrame kann in eine temporäre SQL-Tabelle (eine „View“) umgewandelt und sofort abgefragt werden.
Erstellen einer Temporary View
Bevor eine SQL-Abfrage auf ein DataFrame ausgeführt werden kann, muss diesem ein Name zugewiesen werden, den die SQL-Engine erkennen kann. Dies geschieht mit der Methode createOrReplaceTempView.
# Create a SQL view named 'diamond_view' from our existing DataFrame
df.createOrReplaceTempView("diamond_view")
Der "Replace"-Teil dieses Befehls ist wichtig: Er stellt sicher, dass beim erneuten Ausführen der Zelle die Ansicht einfach aktualisiert wird, anstatt einen Fehler zu verursachen. Diese Ansicht existiert nur für die Dauer der aktuellen Notebook-Sitzung.
Abfragen mit dem %sql-Magic
Nachdem die Ansicht registriert wurde, kann die Sprache gewechselt werden. Mit dem %sql-Magic-Befehl am Anfang einer neuen Zelle können dieselben Selektionen und Filter wie in Python durchgeführt werden, jedoch unter Verwendung der standardmäßigen SQL-Syntax.
%sql
SELECT carat, cut, depth
FROM diamond_view
WHERE price > 500
Die Leistungsfähigkeit von SQL-Filtern
SQL ist besonders intuitiv für komplexe Filtervorgänge. Mit dem Operator IN können mehrere Werte gefiltert werden, während der Operator LIKE für die Mustersuche verwendet wird – Aufgaben, die in Python oft umständlicher sind.
%sql
SELECT * FROM diamond_view
WHERE cut IN ('Good', 'Premium')
AND clarity LIKE '%V%'
Auswählen und Umbenennen von Spalten
In SQL ist das Auswählen und Umbenennen von Spalten mit dem Schlüsselwort AS unkompliziert. Dies ist eine gängige Praxis, um die Überschriften im Abschlussbericht professioneller zu gestalten.
%sql
SELECT
carat,
cut AS Diamond_Quality,
price AS Selling_Price
FROM diamond_view
Warum eine temporäre Ansicht verwenden?
Vielleicht fragen Sie sich: "Warum nicht einfach die Tabelle direkt aus dem Katalog abfragen?" Der Vorteil einer temporären Ansicht besteht darin, dass Sie ein DataFrame abfragen können, das Sie bereits teilweise in Python bereinigt oder modifiziert haben. Sie dient als Brücke und ermöglicht es, Python für die aufwendigen Datenverarbeitungsschritte und SQL für die abschließende Analyse und Visualisierung zu nutzen.
1. Welche Python-Methode müssen Sie ausführen, bevor Sie mit %sql ein DataFrame abfragen können?
2. Was passiert mit einer "Temporary View", nachdem Sie Ihr Notebook vom Cluster getrennt oder Ihre Sitzung beendet haben?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen