【问题标题】:Clarification required regarding spark scala Array()关于 spark scala Array() 的说明
【发布时间】:2021-01-12 06:00:41
【问题描述】:

说,我有一个数据框。该数据框中的列值很少是 Array(),即 Array[Nothing]。我该如何过滤这些?因为如果我不这样做,如果有人尝试打印数据框左右,它会抛出错误。

【问题讨论】:

  • 你也可以使用size函数,即:df.where("size(ar) > 0")。更多信息在这里spark.apache.org/docs/latest/api/sql/index.html#size
  • Àrray[Nothing] 不能是列的类型(注意Ǹothing 是 scala 中的实际类型)
  • 一个空数组不应该在 Spark Scala 中抛出错误,请澄清

标签: scala apache-spark apache-spark-sql scala-collections nothing


【解决方案1】:

只过滤空数组。

val df1 = df.withColumn("array", array())
df1.show()

+---+-----+
| id|array|
+---+-----+
|  1|   []|
+---+-----+

val df2 = df1.filter("array != array()")
df2.show()

+---+-----+
| id|array|
+---+-----+
+---+-----+

【讨论】:

    猜你喜欢
    • 2019-08-29
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-20
    相关资源
    最近更新 更多