开始使用免费开始使用

在 Spark 中使用用户自定义函数

当处理 DataFrame 时,Spark 内置的字符串函数非常强大。不过,一旦复杂度上来,不借助额外手段就很难处理数据,否则函数调用会纠缠成一团。这正是可以使用用户自定义函数(User Defined Functions,UDF)来操作 DataFrame 的场景。

在本练习中,我们将继续使用 voter_df DataFrame,但需要把 first_name 列替换为"名与中间名"。

pyspark.sql.functions 库已用别名 F 提供。来自 pyspark.sql.types 的类也已导入。

本练习是课程的一部分

使用 PySpark 进行数据清洗

查看课程

练习说明

  • 编辑 getFirstAndMiddle() 函数,返回一个由空格分隔的姓名字符串,但不包含列表中的最后一个条目。
  • 将该函数定义为用户自定义函数,并返回字符串类型。
  • 使用您的 UDF 在 voter_df 上创建一个名为 first_and_middle_name 的新列。
  • 显示该 DataFrame。

交互式实操练习

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

def getFirstAndMiddle(names):
  # Return a space separated string of names
  return ' '.join(____)

# Define the method as a UDF
udfFirstAndMiddle = F.____(____, ____)

# Create a new column using your UDF
voter_df = voter_df.withColumn('first_and_middle_name', ____(____))

# Show the DataFrame
____
编辑并运行代码