SQL-query’s voor het filteren van een tabel
In de vorige oefening heb je een eenvoudige SQL-query uitgevoerd op een DataFrame. Je kunt ook meer geavanceerde query’s schrijven om precies het resultaat te krijgen dat je wilt en dit gebruiken voor vervolganalyses zoals datavisualisatie en Machine Learning. In deze oefening gebruiken we de tijdelijke tabel people die je eerder hebt gemaakt, filteren we de rijen waar "sex" mannelijk en vrouwelijk is en maken we twee DataFrames.
Let op: de "oplossing" is hoofdlettergevoelig voor de SQL-commando’s (bijvoorbeeld, hij accepteert alleen FROM en niet from). De "oplossing" accepteert alleen "==" en niet "=".
Onthoud: je hebt al een SparkSession spark en een tijdelijke tabel people beschikbaar in je werkruimte.
Deze oefening maakt deel uit van de cursus
Big Data Fundamentals met PySpark
Oefeninstructies
- Filter de tabel
peopleom alle rijen te selecteren waar sex female is, en sla deze op in het DataFramepeople_female_df. - Filter de tabel
peopleom alle rijen te selecteren waar sex male is, en sla deze op in het DataFramepeople_male_df. - Tel het aantal rijen in zowel de DataFrames
people_femalealspeople_male.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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.____()))