Filtrering og Utvalg av Data med SQL
Sveip for å vise menyen
En midlertidig visning er et sesjonsavgrenset alias for en DataFrame som lar deg samhandle med dataene dine ved hjelp av standard SQL-syntaks. Den flytter eller dupliserer ikke dataene; den gir bare et SQL-vennlig "vindu" inn i DataFrame som ligger i klyngens minne.
Selv om Python er utmerket for å bygge komplekse datastrømmer, foretrekker mange datafagfolk lesbarheten og hastigheten til SQL for filtrering og utvalg av data. I Databricks trenger du ikke velge det ene eller det andre. Du kan gjøre om en Python DataFrame til en midlertidig SQL-tabell (en "visning") og umiddelbart begynne å utføre spørringer mot den.
Opprette en midlertidig visning
Før du kan kjøre en SQL-spørring mot en DataFrame, må du gi den et navn som SQL-motoren kan gjenkjenne. Dette kan du gjøre ved å bruke metoden createOrReplaceTempView.
# Create a SQL view named 'diamond_view' from our existing DataFrame
df.createOrReplaceTempView("diamond_view")
"Replace"-delen av denne kommandoen er viktig: den sørger for at hvis du kjører cellen på nytt, vil visningen bare bli oppdatert i stedet for å forårsake en feil. Denne visningen vil kun eksistere så lenge din nåværende notatbokøkt varer.
Spørringer med %sql-magi
Nå som visningen er registrert, kan du bytte språk. Ved å bruke %sql-magikommandoen øverst i en ny celle, kan du utføre nøyaktig de samme utvalg og filtreringer som du gjorde i Python, men ved å bruke standard SQL-syntaks.
%sql
SELECT carat, cut, depth
FROM diamond_view
WHERE price > 500
Kraften i SQL-filtrering
SQL er spesielt intuitivt for kompleks filtrering. Du kan bruke IN-operatoren for å filtrere etter flere verdier eller LIKE-operatoren for mønstergjenkjenning – oppgaver som ofte er mer omstendelige i Python.
%sql
SELECT * FROM diamond_view
WHERE cut IN ('Good', 'Premium')
AND clarity LIKE '%V%'
Velge og gi alias til kolonner
I SQL er det enkelt å velge og gi nye navn til kolonner ved å bruke AS-nøkkelordet. Dette er en vanlig praksis for å gjøre overskriftene i rapportene dine mer profesjonelle.
%sql
SELECT
carat,
cut AS Diamond_Quality,
price AS Selling_Price
FROM diamond_view
Hvorfor bruke en midlertidig visning?
Du lurer kanskje på: "Hvorfor ikke bare spørre tabellen direkte fra katalogen?" Fordelen med en midlertidig visning er at den lar deg spørre et DataFrame som du allerede har delvis renset eller endret i Python. Dette gir en bro, slik at du kan bruke Python til det "tunge løftet" innen data engineering og SQL til den endelige analysen og visualiseringen.
1. Hvilken Python-metode må du kjøre før du kan bruke %sql for å gjøre spørringer mot en DataFrame?
2. Hva skjer med en "midlertidig visning" når du kobler notatboken fra klyngen eller avslutter økten?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår