Использование карт в 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, которая выйдет в следующем месяце.