НачатьНачать бесплатно

SQL-запросы для фильтрации таблицы

В предыдущем упражнении вы выполнили простой SQL-запрос к DataFrame. Существуют и более сложные запросы, с помощью которых можно получить нужный результат и использовать его в дальнейшем анализе — например, для визуализации данных или машинного обучения. В этом упражнении мы воспользуемся временной таблицей people, которую вы создали ранее, отфильтруем строки по значению столбца «sex» (мужской и женский пол) и создадим два DataFrame.

Обратите внимание: проверка решения чувствительна к регистру SQL-команд (например, принимается только FROM, но не from). Также принимается только «==», но не «=».

Напоминаем: SparkSession spark и временная таблица people уже доступны в вашем рабочем пространстве.

Это упражнение является частью курса

Основы Big Data с PySpark

Посмотреть курс

Инструкции к упражнению

  • Отфильтруйте таблицу people, выбрав все строки, где пол — female, и сохраните результат в DataFrame people_female_df.
  • Отфильтруйте таблицу people, выбрав все строки, где пол — male, и сохраните результат в DataFrame people_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.____()))
Редактировать и запускать код