Использование карт в Flink SQL

Если вы регистрируете таблицу и одним из ее полей является карта (extra в этом случае ") следующее утверждение работает просто отлично:

SELECT f1, f2 FROM customers WHERE extra['sportPrefs'] = 'Football';

Теперь попробуйте ссылаться на ключ, который не существует на карте.

SELECT f1, f2 FROM customers WHERE extra['moviePrefs'] = 'Action';

Вы получите NPE, и работа выйдет. Это было бы хорошо, если бы был способ проверить, существует ли определенный ключ на карте. К сожалению, я не нашел способ. Проверить IS NOT NULL не работает. Без этой функции карты в Flink SQL довольно бесполезны. Что мне не хватает? Спасибо!

1 ответ

То, что вы действительно описываете, было ошибкой, которая описана здесь.

Это будет исправлено в следующей версии Flink 1.5.0, которая выйдет в следующем месяце.

Другие вопросы по тегам