Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Filtraggio e Selezione dei Dati con SQL | Lavorare con i Dati
Fondamenti di Databricks: Guida per Principianti

Filtraggio e Selezione dei Dati con SQL

Scorri per mostrare il menu

Note
Definizione

Una Vista Temporanea è un alias a livello di sessione per un DataFrame che consente di interagire con i dati utilizzando la sintassi SQL standard. Non sposta né duplica i dati; fornisce semplicemente una "finestra" compatibile con SQL sul DataFrame presente nella memoria del cluster.

Sebbene Python sia eccellente per costruire pipeline complesse, molti professionisti dei dati preferiscono la leggibilità e la rapidità di SQL per filtrare e selezionare i dati. In Databricks, non è necessario scegliere tra uno o l'altro. È possibile trasformare un DataFrame Python in una tabella SQL temporanea (una "vista") e iniziare subito a interrogarla.

Creazione di una Vista Temporanea

Prima di poter eseguire una query SQL su un DataFrame, è necessario assegnargli un nome che il motore SQL possa riconoscere. È possibile farlo utilizzando il metodo createOrReplaceTempView.

# Create a SQL view named 'diamond_view' from our existing DataFrame
df.createOrReplaceTempView("diamond_view")

La parte "Replace" di questo comando è importante: garantisce che, se esegui nuovamente la cella, la vista verrà semplicemente aggiornata invece di causare un errore. Questa vista esisterà solo per la durata della sessione corrente del notebook.

Interrogazione con la magia %sql

Ora che la vista è stata registrata, è possibile cambiare linguaggio. Utilizzando il comando magico %sql all'inizio di una nuova cella, è possibile eseguire le stesse selezioni e filtri effettuati in Python, ma utilizzando la sintassi SQL standard.

%sql
SELECT carat, cut, depth
FROM diamond_view
WHERE price > 500

La potenza del filtraggio SQL

SQL è particolarmente intuitivo per il filtraggio complesso. È possibile utilizzare l'operatore IN per filtrare su più valori oppure l'operatore LIKE per il pattern matching, attività che spesso risultano più verbose in Python.

%sql
SELECT * FROM diamond_view
WHERE cut IN ('Good', 'Premium')
  AND clarity LIKE '%V%'

Selezione e aliasing delle colonne

In SQL, selezionare e rinominare le colonne è semplice utilizzando la parola chiave AS. Questa è una pratica comune per rendere le intestazioni dei report finali più professionali.

%sql
SELECT 
  carat, 
  cut AS Diamond_Quality, 
  price AS Selling_Price
FROM diamond_view

Perché utilizzare una Vista Temporanea?

Potresti chiederti: "Perché non interrogare direttamente la tabella dal Catalog?" Il vantaggio di una Vista Temporanea è che consente di interrogare un DataFrame che è già stato parzialmente pulito o modificato in Python. Fornisce un collegamento, permettendo di utilizzare Python per le operazioni di data engineering più complesse e SQL per l'analisi finale e la visualizzazione.

1. Quale metodo Python è necessario eseguire prima di poter utilizzare %sql per interrogare un DataFrame?

2. Cosa succede a una "Vista Temporanea" una volta che si scollega il notebook dal cluster o si termina la sessione?

question mark

Quale metodo Python è necessario eseguire prima di poter utilizzare %sql per interrogare un DataFrame?

Seleziona la risposta corretta

question mark

Cosa succede a una "Vista Temporanea" una volta che si scollega il notebook dal cluster o si termina la sessione?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 5

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 4. Capitolo 5
some-alt