SQL-запросы для фильтрации таблицы
В предыдущем упражнении вы выполнили простой SQL-запрос к DataFrame. Существуют и более сложные запросы, с помощью которых можно получить нужный результат и использовать его в дальнейшем анализе — например, для визуализации данных или машинного обучения. В этом упражнении мы воспользуемся временной таблицей people, которую вы создали ранее, отфильтруем строки по значению столбца «sex» (мужской и женский пол) и создадим два DataFrame.
Обратите внимание: проверка решения чувствительна к регистру SQL-команд (например, принимается только FROM, но не from). Также принимается только «==», но не «=».
Напоминаем: SparkSession spark и временная таблица people уже доступны в вашем рабочем пространстве.
Это упражнение является частью курса
Основы Big Data с PySpark
Инструкции к упражнению
- Отфильтруйте таблицу
people, выбрав все строки, где пол — female, и сохраните результат в DataFramepeople_female_df. - Отфильтруйте таблицу
people, выбрав все строки, где пол — male, и сохраните результат в DataFramepeople_male_df. - Подсчитайте количество строк в DataFrame
people_femaleиpeople_male.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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.____()))