3

在链接https://cwiki.apache.org/Hive/languagemanual-udf.html中,明确提到A && BA 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;,我收到一条异常消息“失败:ParseException line 1:24 cannot identify input near '&' 'b' '<' in expression specification”。

预期输出:

NULL
8

但是当我用 替换&&AND,它给出了正确的结果。我想知道为什么会这样。非常感谢任何帮助!提前致谢。

4

1 回答 1

0

我前段时间遇到过这个问题,并试图做一些由于其他原因而仍未完成的研究。但我发现这是一些与解析相关的问题。准确地说,ANTLR 无法提供合适的解析器来解析这个查询。

您可能可以尝试使用具有升级版 ANTLR 的最新版 Hive。但我仍然不确定它是否能正常工作。坦率地说,我想知道&&|| 曾经工作过。

于 2013-09-22T23:44:02.657 回答