I have a dataframe with schema which has a nested array of map values:
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)
I need to filter on the struct name and some specific key's values in the map inside the array. I can filter on the name:
dataframe.filter(array_contains(col("array_of_properties.name"), "somename"))
How do I add AND filters on values of two keys in the nested props map (for example a key name is_enabled with a boolean value of true or false, and a key name of source with a string value of test) ?