gpt4 book ai didi

scala - 如何将函数应用于 Spark DataFrame 的列?

转载 作者:行者123 更新时间:2023-12-04 10:16:01 27 4
gpt4 key购买 nike

假设我们有一个 Spark DataFrame

df.getClass
Class[_ <: org.apache.spark.sql.DataFrame] = class org.apache.spark.sql.DataFrame

具有以下架构
df.printSchema
root
|-- rawFV: string (nullable = true)
|-- tk: array (nullable = true)
| |-- element: string (containsNull = true)

鉴于 tk 的每一行column 是一个字符串数组,如何编写一个 Scala 函数来返回每行中的元素数?

最佳答案

您不必编写自定义函数,因为有一个:

import org.apache.spark.sql.functions.size

df.select(size($"tk"))

如果你真的想要你可以写一个 udf :
import org.apache.spark.sql.functions.udf

val size_ = udf((xs: Seq[String]) => xs.size)

甚至创建自定义表达式,但这真的没有意义。

关于scala - 如何将函数应用于 Spark DataFrame 的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34614239/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com