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

Thêm trường ID

Khi làm việc với dữ liệu, đôi khi bạn chỉ muốn truy cập một số trường nhất định và thực hiện các thao tác khác nhau. Trong bài này, hãy tìm tất cả các tên cử tri duy nhất từ DataFrame và thêm một số ID duy nhất. Lưu ý rằng Spark gán ID dựa trên partition của DataFrame — vì vậy giá trị ID có thể lớn hơn nhiều so với số hàng thực tế trong DataFrame.

Với cơ chế xử lý lazy của Spark, các ID thực ra chỉ được tạo khi có action được thực thi và có thể khá ngẫu nhiên tùy theo kích thước tập dữ liệu.

Phiên spark và một Spark DataFrame df chứa tệp DallasCouncilVotes.csv.gz đã có sẵn trong không gian làm việc của bạn. Thư viện pyspark.sql.functions đã được nạp với bí danh F.

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

  • Chọn các giá trị duy nhất từ cột VOTER NAME và tạo một DataFrame mới tên voter_df.
  • Đếm số hàng trong DataFrame voter_df.
  • Thêm cột ROW_ID bằng hàm thích hợp của Spark.
  • Hiển thị các hàng có 10 giá trị ROW_ID cao nhất.

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.

# Select all the unique council voters
voter_df = df.____(df["VOTER NAME"]).____()

# Count the rows in voter_df
print("\nThere are %d rows in the voter_df DataFrame.\n" % ____)

# Add a ROW_ID
voter_df = voter_df.____('ROW_ID', F.____())

# Show the rows with 10 highest IDs in the set
voter_df.orderBy(voter_df.____.desc()).show(____)
Chỉnh sửa và Chạy Mã