使用 Like 运算符的 Qubole Presto 数据类型 "Map"

Qubole Presto datatype "Map" using the Like Operator

所以我正在尝试为 Presto 上的 Qubole 查询应用一个简单的 like 函数。对于字符串数据类型,我可以简单地做 like '%United States of America%'

但是对于我尝试应用的列,它的基础数据类型为 "map",因此查询失败。我如何为 map 数据类型编写 like 运算符,以便它只获取与模式匹配的那些列。

Presto 地图相关功能请参考https://trino.io/docs/current/functions/map.html

文档

您应该能够使用 map_filter 来过滤出所需的条目。 例如:

SELECT map_filter(MAP(ARRAY['India', 'Poland', 'United States of America'], ARRAY[20, 3, 15]), (k, v) -> k like '%United States of America%');

             _col0             
-------------------------------
 {United States of America=15} 
(1 row)