Requêtes SQL pour filtrer une table
Dans l'exercice précédent, vous avez exécuté une requête SQL simple sur un DataFrame. Vous pouvez rédiger des requêtes plus élaborées pour obtenir exactement le résultat souhaité et l'utiliser ensuite pour de l'analyse, comme la visualisation de données et le Machine Learning. Dans cet exercice, nous allons utiliser la table temporaire people que vous avez créée plus tôt, filtrer les lignes où « sex » est male et female, puis créer deux DataFrames.
Veuillez noter que la « solution » est sensible à la casse pour les commandes SQL (par exemple, elle accepte FROM mais pas from). La « solution » n'accepte que « == » et non « = ».
Rappel : vous avez déjà une SparkSession spark et une table temporaire people disponibles dans votre espace de travail.
Cette activité fait partie du cours
Principes de Big Data avec PySpark
Instructions de l’exercice
- Filtrez la table
peoplepour sélectionner toutes les lignes où sex est female dans le DataFramepeople_female_df. - Filtrez la table
peoplepour sélectionner toutes les lignes où sex est male dans le DataFramepeople_male_df. - Comptez le nombre de lignes dans les DataFrames
people_femaleetpeople_male.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Filter the people table to select female sex
people_female_df = spark.____('SELECT * FROM ____ WHERE sex=="____"')
# Filter the people table DataFrame to select male sex
people_male_df = spark.____('SELECT * ____ people ____ ____=="____"')
# Count the number of rows in both people_df_female and people_male_df DataFrames
print("There are {} rows in the people_female_df and {} rows in the people_male_df DataFrames".format(people_female_df.____(), people_male_df.____()))