You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by Andy Kent <An...@forward.co.uk> on 2010/02/19 17:58:46 UTC
IN() Operator
I couldn't find anything on the wiki so thought I would try here.
Does Hive have an IN() operator similar to in MySQL?
If not then is there an alternative way of testing for inclusion?
Thanks,
Andy.
Re: IN() Operator
Posted by Amr Awadallah <aa...@cloudera.com>.
Andy,
Are you trying to do something like:
SELECT
FROM mytable A
WHERE ....
AND mycol IN (
SELECT ....
)
If so, you can't do sub-queries inside the WHERE clause in Hive, you can
only do sub-queries within the FROM/JOIN clause.
But, almost any query similar to above can be written using sub-queries
in the FROM using join instead.
For example:
SELECT ....
FROM mytable A
JOIN ( SELECT .... ) B
ON A.mycol = B.mycol
WHERE ...
hope that helps.
-- amr
On 2/19/2010 8:58 AM, Andy Kent wrote:
> I couldn't find anything on the wiki so thought I would try here.
>
> Does Hive have an IN() operator similar to in MySQL?
>
> If not then is there an alternative way of testing for inclusion?
>
> Thanks,
> Andy.
Re: IN() Operator
Posted by Vladimir Klimontovich <kl...@gmail.com>.
No, but it's relatively easy to implement custom UDF (http://wiki.apache.org/hadoop/Hive/LanguageManual/UDF)
that will implement the same functionality
On Feb 19, 2010, at 7:58 PM, Andy Kent wrote:
> I couldn't find anything on the wiki so thought I would try here.
>
> Does Hive have an IN() operator similar to in MySQL?
>
> If not then is there an alternative way of testing for inclusion?
>
> Thanks,
> Andy.
---
Vladimir Klimontovich,
skype: klimontovich
GoogleTalk/Jabber: klimontovich@gmail.com
Cell phone: +7926 890 2349