开始使用免费开始使用

进一步解析

您已经把这个数据集转换成与最初大不相同的格式,但还有一些事情要做。您需要为后续分析准备列数据,并删除一些中间过程产生的列。

spark 上下文可用,pyspark.sql.functions 已用别名 Fpyspark.sql.types 中的类型也已导入。split_df DataFrame 保持为您上次处理后的状态。请记住,您可以在控制台中对 DataFrame 使用 .printSchema() 来查看列名和类型。

⚠️ 注意: 如果出现 AttributeError,请刷新练习并点击 Run Solution,不要点击 运行代码

本练习是课程的一部分

使用 PySpark 进行数据清洗

查看课程

练习说明

  • 新建函数 retriever,接收两个参数:拆分后的列(cols)和列总数(colcount)。该函数应返回尚未定义为列的条目列表(也就是列表中从第 5 个元素开始的所有项)。
  • 将该函数定义为 Spark UDF,返回字符串数组(Array of strings)。
  • 使用该 UDF 和 DataFrame 中可用的列创建新列 dog_list
  • 删除列 _c0colcountsplit_cols

交互式实操练习

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

def retriever(____, ____):
  # Return a list of dog data
  return ____[4:____]

# Define the method as a UDF
udfRetriever = ____(____, ArrayType(____))

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

# Remove the original column, split_cols, and the colcount
split_df = split_df.drop('____').____('____').____('____')
编辑并运行代码