Câu truy vấn SQL để lọc Table
Trong bài tập trước, bạn đã chạy một truy vấn SQL đơn giản trên một DataFrame. Bạn có thể viết các truy vấn phức tạp hơn để lấy đúng kết quả mong muốn và dùng cho các phân tích tiếp theo như trực quan hóa dữ liệu và Machine Learning. Trong bài này, bạn sẽ dùng bảng tạm people mà bạn đã tạo trước đó, lọc các hàng có "sex" là male và female và tạo hai DataFrame.
Lưu ý: "solution" phân biệt chữ hoa/thường đối với các lệnh SQL (ví dụ, chỉ chấp nhận FROM chứ không phải from). "solution" chỉ chấp nhận "==" chứ không phải "=".
Hãy nhớ, bạn đã có SparkSession spark và bảng tạm people sẵn trong không gian làm việc của bạn.
Bài tập này là một phần của khóa học
Nền tảng Big Data với PySpark
Hướng dẫn bài tập
- Lọc bảng
peopleđể chọn tất cả các hàng có sex là female vào DataFramepeople_female_df. - Lọc bảng
peopleđể chọn tất cả các hàng có sex là male vào DataFramepeople_male_df. - Đếm số hàng trong cả hai DataFrame
people_femalevàpeople_male.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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.____()))