SQL-запити для фільтрування таблиці
У попередній вправі ви запускали простий SQL-запит до датафрейму. Є більш складні запити, які можна скласти, щоб отримати потрібний результат і використати його для подальшого аналізу, наприклад візуалізації даних або машинного навчання. У цій вправі ми використаємо тимчасову таблицю people, яку ви створили раніше, відфільтруємо рядки, де значення поля "sex" — чоловіче та жіноче, і створимо два датафрейми.
Зверніть увагу: «розв'язок» чутливий до регістру в командах SQL (наприклад, приймається лише FROM, а не from). «Розв'язок» приймає тільки оператор "==", а не "=".
Пам'ятайте, у вашому робочому середовищі вже доступні SparkSession spark і тимчасова таблиця people.
Ця вправа є частиною курсу
Основи Big Data з PySpark
Інструкції до вправи
- Відфільтруйте таблицю
people, щоб вибрати всі рядки, де sex — female, у датафреймpeople_female_df. - Відфільтруйте таблицю
people, щоб вибрати всі рядки, де sex — male, у датафреймpeople_male_df. - Підрахуйте кількість рядків у датафреймах
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.____()))