SQL-Abfragen zum Filtern von Tabellen
In der vorherigen Übung hast du eine einfache SQL-Abfrage für einen DataFrame ausgeführt. Es gibt aber auch anspruchsvollere Abfragen, die du erstellen kannst, um das gewünschte Ergebnis zu erhalten und es für nachgelagerte Schritte wie die Datenvisualisierung und maschinelles Lernen zu nutzen. In dieser Übung verwenden wir die temporäre Tabelle people
, die du zuvor erstellt hast, filtern die Zeilen heraus, in denen das Geschlecht männlich bzw. weiblich ist, und erstellen zwei DataFrames.
Beachte, dass bei den SQL-Befehlen zwischen Groß- und Kleinschreibung unterschieden wird. (Zum Beispiel wird nur FROM
und nicht from
akzeptiert.) Die Übung lässt sich auch nur mit „==“ und nicht mit „=“ lösen.
Zur Erinnerung: Die SparkSession spark
und die temporäre Tabelle people
sind schon im Arbeitsbereich verfügbar.
Diese Übung ist Teil des Kurses
Grundlagen von Big Data mit PySpark
Anleitung zur Übung
- Filtere die Tabelle
people
, um alle Zeilen, in denen das Geschlecht weiblich ist, auszuwählen und in den DataFramepeople_female_df
zu übernehmen. - Filtere die Tabelle
people
, um alle Zeilen, in denen das Geschlecht männlich ist, auszuwählen und in den DataFramepeople_male_df
zu übernehmen. - Zähle die Anzahl der Zeilen in den beiden DataFrames
people_female
undpeople_male
.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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.____()))