Gegevens Filteren en Selecteren met SQL
Veeg om het menu te tonen
Een Temporary View is een sessiegebonden alias voor een DataFrame waarmee je met standaard SQL-syntax met je data kunt werken. De data wordt niet verplaatst of gedupliceerd; het biedt eenvoudigweg een SQL-vriendelijk "venster" op het DataFrame dat zich in het geheugen van de cluster bevindt.
Hoewel Python uitstekend is voor het bouwen van complexe pipelines, geven veel data-professionals de voorkeur aan de leesbaarheid en snelheid van SQL voor het filteren en selecteren van data. In Databricks hoef je niet te kiezen tussen beide. Je kunt een Python DataFrame omzetten in een tijdelijke SQL-tabel (een "view") en direct beginnen met het uitvoeren van queries.
Een tijdelijke view maken
Voordat je een SQL-query op een DataFrame kunt uitvoeren, moet je het een naam geven die de SQL-engine kan herkennen. Dit doe je met de methode createOrReplaceTempView.
# Create a SQL view named 'diamond_view' from our existing DataFrame
df.createOrReplaceTempView("diamond_view")
Het gedeelte "Replace" van dit commando is belangrijk: het zorgt ervoor dat als je de cel opnieuw uitvoert, de view eenvoudigweg wordt bijgewerkt in plaats van een fout te veroorzaken. Deze view bestaat alleen gedurende de huidige notebooksessie.
Queryen met de %sql-magic
Nu de view is geregistreerd, kun je van programmeertaal wisselen. Door het %sql-magic-commando bovenaan een nieuwe cel te gebruiken, kun je exact dezelfde selecties en filters uitvoeren als in Python, maar dan met standaard SQL-syntaxis.
%sql
SELECT carat, cut, depth
FROM diamond_view
WHERE price > 500
De kracht van SQL-filtering
SQL is bijzonder intuïtief voor complexe filtering. De IN-operator kan worden gebruikt om op meerdere waarden te filteren, of de LIKE-operator voor patroonherkenning - taken die in Python vaak omslachtiger zijn.
%sql
SELECT * FROM diamond_view
WHERE cut IN ('Good', 'Premium')
AND clarity LIKE '%V%'
Kolommen selecteren en aliassen
In SQL is het selecteren en hernoemen van kolommen eenvoudig met het AS-trefwoord. Dit is een gangbare praktijk om de kopteksten van je eindrapport professioneler te maken.
%sql
SELECT
carat,
cut AS Diamond_Quality,
price AS Selling_Price
FROM diamond_view
Waarom een tijdelijke view gebruiken?
Je vraagt je misschien af: "Waarom niet direct de tabel uit de Catalogus opvragen?" Het voordeel van een tijdelijke view is dat je hiermee een DataFrame kunt raadplegen die je al gedeeltelijk hebt opgeschoond of aangepast in Python. Het vormt een brug, zodat je Python kunt gebruiken voor het zware werk van data-engineering en SQL voor de uiteindelijke analyse en visualisatie.
1. Welke Python-methode moet je uitvoeren voordat je %sql kunt gebruiken om een DataFrame te bevragen?
2. Wat gebeurt er met een "Temporary View" zodra je je notebook loskoppelt van de cluster of je sessie beëindigt?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.