开始使用免费开始使用

更多 ID 技巧

一旦定义了 Spark 处理流程,您很可能会多次复用。根据需要,您也许希望从某个特定值开始生成 ID,这样就不会与之前运行的 Spark 任务产生重叠。这与关系型数据库中 ID 的行为类似。现在,您的任务是确保每月 Spark 任务输出的 ID 从上个月的最高值开始递增。

工作区中已提供 spark 会话以及两个 DataFrame:voter_df_marchvoter_df_aprilpyspark.sql.functions 库已用别名 F 导入。

本练习是课程的一部分

使用 PySpark 进行数据清洗

查看课程

练习说明

  • 找出 voter_df_march 中最高的 ROW_ID,并将其保存到变量 previous_max_ID。语句 .rdd.max()[0] 可获取最大 ID。
  • voter_df_april 添加一列 ROW_ID,其起始值为 previous_max_ID + 1。
  • 显示两个 DataFrame 的 ROW_ID 并进行比较。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# 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()
____
编辑并运行代码