'&&' не работает в Hive

По ссылке https://cwiki.apache.org/Hive/languagemanual-udf.html ясно сказано, что A && B совпадает с A AND B. Но когда я попытался использовать && в одном из своих запросов куста, это не сработало (я использую hive-0.9.0-cdh4.1.2).

Пример ввода:

12 23

2 6

Схема таблицы как test(a int, b int). Когда я выполнил SELECT CASE WHEN (a<10 && b<10) THEN a+b END FROM test;, я получил сообщение об исключении, в котором говорилось: «FAILED: строка ParseException 1:24 не может распознать ввод рядом с '&' 'b' '‹' в спецификации выражения".

Ожидаемый результат:

NULL
8

Но когда я заменил && на AND, это дало правильный результат. Я хочу знать, почему это произошло. Любая помощь высоко ценится! Заранее спасибо.


person Anjaly    schedule 20.09.2013    source источник


Ответы (1)


Я столкнулся с этой проблемой некоторое время назад и попытался провести некоторое исследование, которое осталось незавершенным из-за других вещей. Но я обнаружил, что это проблема, связанная с синтаксическим анализом. Чтобы быть точным, ANTLR не может предоставить подходящий парсер для анализа этого запроса.

Вероятно, вы могли бы попробовать использовать последнюю версию Hive с обновленной версией ANTLR. Но я все еще не уверен, что это будет работать даже с этим. Честно говоря, мне интересно, работали ли когда-нибудь && и ||.

person Tariq    schedule 22.09.2013