gpt4 book ai didi

scala - 如果集合中存在列,则过滤 spark/scala 数据框

转载 作者:行者123 更新时间:2023-12-03 18:25:37 25 4
gpt4 key购买 nike

我正在使用 Spark 1.4.0,这是我到目前为止所拥有的:

data.filter($"myColumn".in(lit("A"), lit("B"), lit("C"), ...))

函数 lit将文字转换为列。

理想情况下,我会将我的 A、B、C 放在一个 Set 中并像这样检查:
val validValues = Set("A", "B", "C", ...)
data.filter($"myColumn".in(validValues))

什么是正确的语法?有没有替代的简洁解决方案?

最佳答案

Spark 1.4 或更高版本:

val validValues = Set("A", "B", "C").map(lit(_))
data.filter($"myColumn".in(validValues.toSeq: _*))

Spark 1.5 或更新版本:
val validValues = Set("A", "B", "C")
data.filter($"myColumn".isin(validValues.toSeq: _*))

关于scala - 如果集合中存在列,则过滤 spark/scala 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39234360/

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