Thêm mẹo về ID
Khi bạn đã xác định một quy trình Spark, khả năng cao bạn sẽ muốn dùng lại nhiều lần. Tùy nhu cầu, bạn có thể muốn bắt đầu ID từ một giá trị nhất định để không trùng với các lần chạy Spark trước đó. Cách này tương tự hành vi ID trong cơ sở dữ liệu quan hệ. Bạn được giao nhiệm vụ đảm bảo các ID đầu ra từ tác vụ Spark hàng tháng sẽ bắt đầu tại giá trị cao nhất của tháng trước.
Phiên làm việc spark và hai DataFrame, voter_df_march và voter_df_april, đã có sẵn trong không gian làm việc của bạn. Thư viện pyspark.sql.functions có sẵn 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
Hướng dẫn bài tập
- Xác định
ROW_IDlớn nhất trongvoter_df_marchvà lưu vào biếnprevious_max_ID. Câu lệnh.rdd.max()[0]sẽ lấy ID lớn nhất. - Thêm cột
ROW_IDvàovoter_df_aprilbắt đầu từ giá trịprevious_max_ID+ 1. - Hiển thị các
ROW_IDtừ cả hai DataFrame và so sánh.
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 highest ROW_ID and save it in previous_max_ID
____ = ____.select('ROW_ID').rdd.max()[0] + 1
# Add a ROW_ID column to voter_df_april starting at the desired value
voter_df_april = ____.withColumn('ROW_ID', ____ + ____)
# Show the ROW_ID from both DataFrames and compare
____.select('ROW_ID').show()
____