qubole presto数据类型“map”

kjthegm6  于 2021-06-25  发布在  Hive
关注(0)|答案(1)|浏览(1115)

所以我尝试在presto上应用一个简单的like函数来进行qubole查询。对于字符串数据类型,我可以简单地执行“%united states of america%”这样的操作。
但是,对于我尝试应用的列,它的底层数据类型为“map”,因此查询失败。如何为map数据类型编写like操作符,以便它只获取与模式匹配的列。

5cnsuln7

5cnsuln71#

请参阅presto中有关Map相关功能的文档https://prestosql.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)

相关问题