Khám phá các dòng không hợp lệ
Bạn đã lọc bỏ các dòng bằng một phép join, nhưng đôi khi bạn muốn xem xét dữ liệu không hợp lệ. Dữ liệu này có thể được lưu lại để xử lý sau hoặc để khắc phục sự cố nguồn dữ liệu.
Bạn muốn tìm phần khác biệt giữa hai DataFrame và lưu các dòng không hợp lệ.
Đối tượng spark đã được định nghĩa và pyspark.sql.functions đã được import dưới tên F. DataFrame gốc split_df và DataFrame sau khi join joined_df đều sẵn có ở trạng thái trước đó.
Bài tập này là một phần của khóa học
Làm sạch dữ liệu với PySpark
Hướng dẫn bài tập
- Xác định số lượng dòng cho từng DataFrame.
- Tạo một DataFrame chỉ chứa các dòng không hợp lệ.
- Xác thực số lượng dòng của DataFrame mới đúng như kỳ vọng.
- Xác định số lượng dòng thư mục (folder) phân biệt đã bị loại bỏ.
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.
# Determine the row counts for each DataFrame
split_count = ____
joined_count = ____
# Create a DataFrame containing the invalid rows
invalid_df = split_df.____(____(joined_df), '____', '____')
# Validate the count of the new DataFrame is as expected
invalid_count = ____
print(" split_df:\t%d\n joined_df:\t%d\n invalid_df: \t%d" % (split_count, joined_count, invalid_count))
# Determine the number of distinct folder rows removed
invalid_folder_count = invalid_df.____('____').____.____
print("%d distinct invalid folders found" % invalid_folder_count)