Zacznij terazZacznij za darmo

Zapytania SQL do filtrowania tabeli

W poprzednim ćwiczeniu uruchomiłeś/-aś proste zapytanie SQL na DataFrame. Możesz tworzyć też bardziej zaawansowane zapytania, które pozwalają uzyskać dokładnie takie wyniki, jakich potrzebujesz – przydatne na przykład do wizualizacji danych czy uczenia maszynowego. W tym ćwiczeniu skorzystamy z tymczasowej tabeli people, którą wcześniej utworzyłeś/-aś, przefiltrujemy wiersze według wartości kolumny "sex" (męska i żeńska) i stworzymy dwa osobne DataFrame.

Zwróć uwagę, że „rozwiązanie" rozróżnia wielkość liter w poleceniach SQL (np. akceptuje wyłącznie FROM, nie from). Ponadto akceptuje tylko operator "==" – nie "=".

Pamiętaj, że w środowisku pracy masz już dostępną sesję SparkSession spark oraz tymczasową tabelę people.

To ćwiczenie jest częścią kursu

Podstawy Big Data z PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Przefiltruj tabelę people, aby wybrać wszystkie wiersze, w których płeć to female, i zapisz wynik w DataFrame people_female_df.
  • Przefiltruj tabelę people, aby wybrać wszystkie wiersze, w których płeć to male, i zapisz wynik w DataFrame people_male_df.
  • Policz liczbę wierszy w obu DataFrame: people_female i people_male.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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.____()))
Edytuj i uruchom kod