使用 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)
所以我正在尝试为 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)