Тип данных Qubole Presto "Карта" с использованием оператора Like - PullRequest
0 голосов
/ 03 апреля 2020

Итак, я пытаюсь применить функцию простого типа для запроса Qubole в Presto. Для типа данных строки я могу просто сделать как '% United States of America%' .

Однако для столбца, который я пытаюсь применить, этот тип данных имеет базовый тип данных "map" и, следовательно, запрос не выполняется. Как написать оператор like для типа данных карты, чтобы он выбирал только те столбцы, которые соответствуют шаблону.

1 Ответ

1 голос
/ 03 апреля 2020

См. Документацию о функциях, связанных с картой в Presto, по адресу 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)
...