Requêtes SQL pour filtrer une table
Dans l'exercice précédent, vous avez exécuté une simple requête SQL sur un DataFrame. Il existe des requêtes plus sophistiquées que vous pouvez construire pour obtenir le résultat que vous souhaitez et utiliser pour des analyses en aval telles que la visualisation des données et le machine learning. Dans cet exercice, nous allons utiliser la table temporaire people
que vous avez créée précédemment, filtrer les lignes où le sexe est masculin et féminin et créer deux DataFrames.
Veuillez noter que la « solution » est sensible à la casse pour les commandes SQL (par exemple, elle n'accepte que FROM
, pas from
). La « solution » n'accepte que « == » et non « = ».
N'oubliez pas que vous disposez déjà d'une SparkSession spark
et d'une table temporaire people
dans votre espace de travail.
Cet exercice fait partie du cours
Principes fondamentaux des mégadonnées avec PySpark
Instructions
- Filtrez la table
people
pour sélectionner toutes les lignes où le sexe est féminin dans le DataFramepeople_female_df
. - Filtrez la table
people
pour sélectionner toutes les lignes où le sexe est masculin dans le DataFramepeople_male_df
. - Comptez le nombre de lignes dans les DataFrames
people_female
etpeople_male
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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.____()))