SQL-frågor för att filtrera tabeller
I föregående övning körde du en enkel SQL-fråga på en DataFrame. Det finns mer avancerade frågor du kan skriva för att få fram det resultat du behöver och använda det i vidare analyser, till exempel datavisualisering och maskininlärning. I den här övningen använder du den temporära tabellen people som du skapade tidigare, filtrerar ut rader där "sex" är male respektive female och skapar två DataFrames.
Observera att "solution" är skiftlägeskänslig för SQL-kommandon (till exempel accepteras bara FROM, inte from). "solution" accepterar bara "==" och inte "=".
Kom ihåg att du redan har en SparkSession spark och en temporär tabell people tillgängliga i din arbetsyta.
Den här övningen är en del av kursen
Grunderna i Big Data med PySpark
Övningsinstruktioner
- Filtrera tabellen
peopleför att välja alla rader där sex är female och spara resultatet i DataFrame:npeople_female_df. - Filtrera tabellen
peopleför att välja alla rader där sex är male och spara resultatet i DataFrame:npeople_male_df. - Räkna antalet rader i både
people_femaleochpeople_maleDataFrames.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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.____()))