我有一個帶有模式的資料框,它有一個嵌套的地圖值陣列:
root
|-- array_of_properties: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- name: string (nullable = true)
| | |-- props: map (nullable = true)
| | | |-- key: string
| | | |-- value: string (valueContainsNull = true)
我需要在陣列內的映射中過濾結構名稱和某些特定鍵的值。我可以過濾名稱:
dataframe.filter(array_contains(col("array_of_properties.name"), "somename"))
如何在嵌套props映射中的兩個鍵的值上添加 AND 過濾器(例如is_enabled,布林值為 true 或 false 的鍵名,source以及字串值為 的鍵名test)?
uj5u.com熱心網友回復:
使用exists功能:
dataframe.filter("exists(array_of_properties, x -> x.name = 'somename' and x.props['is_enabled'] is true)")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/393586.html
