'&安培;&安培;'不在Hive工作

时间:2013-09-20 11:31:54

标签: hive hiveql

在链接https://cwiki.apache.org/Hive/languagemanual-udf.html中,明确提到A && BA AND B相同。但是,当我尝试在我的一个hive查询中使用&&时,它无效(我使用的是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 line 1:24无法识别'&amp;'附近的输入'b''&lt;'在表达式规范“。

预期产出:

NULL
8

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

1 个答案:

答案 0 :(得分:0)

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

您可以尝试使用最新版本的Hive,它具有ANTLR的升级版本。但我仍然不确定即使这样也会奏效。坦率地说,我想知道&amp;&amp; || 是否有效。