Filtrage et Sélection de Données avec SQL
Glissez pour afficher le menu
Une vue temporaire est un alias limité à la session pour un DataFrame, permettant d'interagir avec vos données en utilisant la syntaxe SQL standard. Elle ne déplace ni ne duplique les données ; elle offre simplement une « fenêtre » compatible SQL sur le DataFrame présent en mémoire du cluster.
Bien que Python soit excellent pour construire des pipelines complexes, de nombreux professionnels des données privilégient la lisibilité et la rapidité du SQL pour filtrer et sélectionner des données. Dans Databricks, il n'est pas nécessaire de choisir entre les deux. Vous pouvez transformer un DataFrame Python en une table SQL temporaire (une « vue ») et commencer immédiatement à l'interroger.
Création d'une vue temporaire
Avant de pouvoir exécuter une requête SQL sur un DataFrame, vous devez lui attribuer un nom que le moteur SQL peut reconnaître. Cela s'effectue à l'aide de la méthode createOrReplaceTempView.
# Create a SQL view named 'diamond_view' from our existing DataFrame
df.createOrReplaceTempView("diamond_view")
La partie « Replace » de cette commande est importante : elle garantit que si vous exécutez à nouveau la cellule, la vue sera simplement mise à jour au lieu de provoquer une erreur. Cette vue existera uniquement pendant la durée de votre session actuelle du notebook.
Interrogation avec la commande magique %sql
Maintenant que la vue est enregistrée, il est possible de changer de langage. En utilisant la commande magique %sql au début d’une nouvelle cellule, il est possible d’effectuer exactement les mêmes sélections et filtres qu’en Python, mais en utilisant la syntaxe SQL standard.
%sql
SELECT carat, cut, depth
FROM diamond_view
WHERE price > 500
La puissance du filtrage SQL
SQL est particulièrement intuitif pour le filtrage complexe. L'opérateur IN permet de filtrer sur plusieurs valeurs, tandis que l'opérateur LIKE sert à effectuer des recherches par motif : des tâches souvent plus verbeuses en Python.
%sql
SELECT * FROM diamond_view
WHERE cut IN ('Good', 'Premium')
AND clarity LIKE '%V%'
Sélection et alias des colonnes
En SQL, la sélection et le renommage des colonnes se font facilement à l'aide du mot-clé AS. Il s'agit d'une pratique courante pour rendre les en-têtes de vos rapports finaux plus professionnels.
%sql
SELECT
carat,
cut AS Diamond_Quality,
price AS Selling_Price
FROM diamond_view
Pourquoi utiliser une vue temporaire ?
Vous pourriez vous demander : « Pourquoi ne pas simplement interroger la table directement depuis le catalogue ? » L'avantage d'une vue temporaire est qu'elle permet d'interroger un DataFrame que vous avez déjà partiellement nettoyé ou modifié en Python. Elle sert de passerelle, permettant d'utiliser Python pour le traitement intensif des données et SQL pour l'analyse finale et la visualisation.
1. Quelle méthode Python devez-vous exécuter avant de pouvoir utiliser %sql pour interroger un DataFrame ?
2. Que se passe-t-il pour une « vue temporaire » lorsque vous détachez votre notebook du cluster ou terminez votre session ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion