What version of hive you are using?
It is good to know that if it works in newer version.
Yong
Date: Tue, 11 Mar 2014 08:33:06 +0100
Subject: Re: Using an UDF in the WHERE (IN) clause
From: petter.von.dolw...@gmail.com
To: user@hive.apache.org
Hi Young,
I must argue that the partition pruning
Hi Navis,
I suspected that the parser only accepted an expression like (value1,
value2, value3...) as input. I guess one solution as you say would be to
add an array as an allowed argument to IN. I do not know if other SQL
dialects allow this. Another way would be to introduce a new type of UDF
th
Then you should use BETWEEN, not IN. BETWEEN can be used for PPD, afaik.
2014-03-11 16:33 GMT+09:00 Petter von Dolwitz (Hem)
:
> Hi Young,
>
> I must argue that the partition pruning do actually work if I don't use the
> IN clause. What I wanted to achieve in my original query was to specify a
> r
Hi Young,
I must argue that the partition pruning do actually work if I don't use the
IN clause. What I wanted to achieve in my original query was to specify a
range of partitions in a simple way. The same query can be expressed as
SELECT * FROM mytable WHERE partitionCol >= UDF("2014-03-10") and
(KW_IN expressions)
-> ^(TOK_FUNCTION KW_IN $precedenceEqualExpression expressions)
expressions
:
LPAREN expression (COMMA expression)* RPAREN -> expression*
;
You should have arguments of IN wrapped by parentheses. But It seemed
not possible to use array returning expression i
I don't know from syntax point of view, if Hive will allow to do "columnA IN
UDF(columnB)".
What I do know that even let's say above work, it won't do the partition
pruning.
The partition pruning in Hive is strict static, any dynamic values provided to
partition column won't enable partition pru