【发布时间】:2020-11-07 03:29:54
【问题描述】:
我有一个带有 ArrayType 结构字段的数据集,我需要过滤与 max_stat 值一致的 stat 字段的值。数据结构如下:
|-- data: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- id: integer (nullable = true)
| | |-- stat: float (nullable = true)
|-- max_stat: float (nullable = true)
|-- naming: string (nullable = true)
我试图做这样的事情,但无法将 Array 与 int 进行比较。那么如何更改此过滤器?
df.filter($"data.stat" === "max_stat")
.drop(max_stat)
输入数据:
data | max_stat | naming
[(1,0.34),(2, 0.57), (3, 0.89)] | 0.89 | example
预期输出:
data | naming
(3, 0.89) | example
【问题讨论】:
标签: scala apache-spark apache-spark-sql