1. Learn
  2. /
  3. 课程
  4. /
  5. Python 中的 Spark SQL 入门

Connected

道练习

练习创建 UDF

有时您的数据需要进行内置函数不支持的转换。这时就适合使用自定义用户定义函数("UDF")。

SQL 函数 udf 可用。

已提供一个 dataframe df2,类型为 DataFrame[doc: array<string>, in: array<string>, out: array<string>]。其 doc 列包含简单的标记。

下面的代码会显示 doc 包含 '1' 的前 20 行:

df2.where(array_contains('doc','1')).show()

您需要完成两个目标:

  1. 确保转换后的数据由非空向量组成。
  2. 某个 dataframe 的一列包含字符串数组,且每个数组只有一个元素。您希望将这一列转换为字符串。

说明

100 XP
  • 创建一个 udf,只有当值为非空向量时返回 true,可使用 numNonzeros()。
  • 创建一个 udf,返回数组的第一个元素,并返回其字符串表示。