【发布时间】:2020-04-15 17:57:49
【问题描述】:
我不想在数据框中的所有列上使用 foldLeft 或 withColumn,但想要根据 https://medium.com/@manuzhang/the-hidden-cost-of-spark-withcolumn-8ffea517c015 进行选择,并使用 if else 语句和带有 vararg 的 cols 进行修饰。我想要的只是使用 Scala 替换 Spark 数据框中的空数组列。我正在使用大小,但它永远不会正确计算零 (0)。
val resDF2 = aggDF.select(cols.map { col =>
( if (size(aggDF(col)) == 0) lit(null) else aggDF(col) ).as(s"$col")
}: _*)
if (size(aggDF(col)) == 0) lit(null) 在功能上不起作用,但它确实运行并且 size(aggDF(col)) strong> 如果我返回,则返回正确的长度。
我想知道这个愚蠢的问题是什么。一定是我明显忽略的东西!
【问题讨论】:
标签: dataframe apache-spark if-statement size