过滤包含Scala Spark数据帧中数组的列中的数组长度[重复]

Posted

技术标签:

【中文标题】过滤包含Scala Spark数据帧中数组的列中的数组长度[重复]【英文标题】:Filter on length of arrays in a column containing arrays in Scala Spark dataframe [duplicate] 【发布时间】:2018-09-14 20:49:30 【问题描述】:

我有一个名为“mydf”的 DataFrame 架构,如下所示:

root
|--properties
|  |-- arrayCol: array (nullable = true)
|  |  |-- element: struct (containsNull = true)
|  |  |  |-- unimportantElem1: string (nullable = true)
|  |  |  |-- unimportantElem2: integer (nullable = true)

我想根据数组大小(数组长度)等于“s”的“arrayCol”列过滤行,并计算这些行的数量。

【问题讨论】:

【参考方案1】:
mydf filter(size($"properties.arrayCol") === 4) count

在这里,我正在过滤行以查找列 arrayCol 中具有大小为 4 的数组的所有行。

请注意,arrayCol 是嵌套的 (properties.arrayCol),因此它可能有助于使用嵌套列进行过滤的人。我在发布问题时得到了答案。

【讨论】:

以上是关于过滤包含Scala Spark数据帧中数组的列中的数组长度[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 Spark Scala 中其他数据帧中的多列匹配过滤数据帧

spark scala数据帧中键值对的增量值计数

如何在 if-else 条件下的列中使用 Spark 值 - Scala

Spark 中的数据框比较:Scala

提取列值并将其作为 Spark 数据帧中的数组分配给另一列

为什么过滤器在spark数据帧上默认删除空值?