Bắt đầu ngayBắt đầu miễn phí

Loại bỏ các dòng chú thích

Sếp của bạn muốn bạn thực hiện một bước phân tích cú pháp phức tạp trên một bộ dữ liệu mới. Dữ liệu này là thông tin chú giải cho bộ ImageNet, nhưng tập trung riêng vào các giống chó và việc nhận diện chúng trong ảnh. Trước khi có thể phân tích, bạn cần loại bỏ một số thành phần dữ liệu không hợp lệ/không chính xác. Vì chưa rõ schema tổng thể của tài liệu, bạn muốn nhập các hàng vào một cột duy nhất để có thể phân tích nhanh.

Bắt đầu bằng cách loại bỏ tất cả các dòng chú thích trong bộ dữ liệu.

Ngữ cảnh spark và tệp CSV gốc (annotations.csv.gz) đã sẵn sàng để bạn sử dụng. Hàm col cũng có thể dùng đượ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

Xem khóa học

Hướng dẫn bài tập

  • Nạp tệp annotations.csv.gz vào một DataFrame và đếm số hàng. Chỉ định ký tự phân tách là |.
  • Truy vấn dữ liệu để lấy số hàng bắt đầu bằng #.
  • Nạp lại tệp vào một DataFrame mới, nhưng chỉ định ký tự chú thích trong options để loại bỏ mọi dòng chú thích.
  • Đếm DataFrame mới và kiểm tra xem chênh lệch có đúng như kỳ vọng hay không.

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.

# Import the file to a DataFrame and perform a row count
annotations_df = spark.read.____('____', sep=____)
full_count = annotations_df.____

# Count the number of rows beginning with '#'
comment_count = annotations_df.____(col('_c0').____('#')).count()

# Import the file to a new DataFrame, without commented rows
no_comments_df = ____.____.____('____', ____=____, comment='____')

# Count the new DataFrame and verify the difference is as expected
no_comments_count = no_comments_df.count()
print("Full count: %d\nComment count: %d\nRemaining count: %d" % (____, ____, ____))
Chỉnh sửa và Chạy Mã