首页 > 解决方案 > 在 Presto 中为数据类型字典的列选择包含特定文本的行

问题描述

我有一个包含 2000 万行的多列的表。我只对在 presto Db 中具有数据类型字典的 global 列具有字符串“robot”的行感兴趣。我试过地图函数和数组函数,但在互联网上找不到任何东西。

我的行如下所示

列名“全局”

列值

{IS_ROBOT=false, field2=value, ROBOT=false, v_DA_E=, v_DA_T=Internet, 
v_DA_F=Explorer, v_DA_VER=11}

请注意,并非每一行都包含 ROBOT 密钥正则表达式。目标是获取包含该正则表达式作为键的行

编辑数据类型是map<string,string>

标签: presto

解决方案


你应该能够结合

喜欢:

reduce(
    map_keys(your_map),
    false,
    (acc, el) -> acc OR el ILIKE '%robot%',
    acc -> acc)

推荐阅读