hive-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ilhami Kalkan <ilhami.kal...@intellica.net>
Subject Re: hive query with in statement
Date Wed, 13 Aug 2014 13:03:21 GMT
Hi Kevin,
I'm using 0.12 version and IN statement works fine except this situation:

select * from table1 where callhour in (1,2,3,4); --> success
(callhour type: int)

select * from table1 where name in ('foo1','foo2','foo3','foo4'); --> 
success
(name type: string)

select * from table1 where calldate = '2014-08-11'; --> success
(calldate type:date)

select * from table1 where calldate < '2014-08-11'; --> success
(calldate type:date)

select * from table1 where calldate in ( '2014-08-11','2014-05-02');  
-->error
(calldate type:date)

Error: Error while processing statement: FAILED: SemanticException
[Error 10014]: Line 1:38 Wrong arguments ''20014-03-02'': The arguments
for IN should be the same type! Types are: {date IN (string, string)}
(state=42000,code=10014)

if I use calldate with cast operator it works:
select * from table1 where cast(calldate as string) in ( 
'2014-08-11','2014-05-02');



On 13-08-2014 15:49, Kevin Weiler wrote:
> This is a relatively old stack overflow post. I’m not sure what 
> version you guys are using, but IN seems to work just fine for me.
>
> --
> *Kevin Weiler*
>
> IT
>
> IMC Financial Markets | 233 S. Wacker Drive, Suite 4300 | Chicago, IL 
> 60606 | http://imc-chicago.com/
> Phone: +1 312-204-7439 | Fax: +1 312-244-3301 | E-Mail: 
> _kevin.weiler@imc-chicago.com <mailto:Kevin.Weiler@imc-chicago.com>_
>
> On Aug 13, 2014, at 12:58 AM, Sreenath <sreenaths1923@gmail.com 
> <mailto:sreenaths1923@gmail.com>> wrote:
>
>> Hi,
>>
>> hive doesn't support IN clause. you might want to check out 
>> http://stackoverflow.com/questions/7677333/how-to-write-subquery-and-use-in-clause-in-hive
>>
>>
>> On 12 August 2014 17:07, ilhami Kalkan <ilhami1985@hotmail.com 
>> <mailto:ilhami1985@hotmail.com>> wrote:
>>
>>     Hi all,
>>     I have a problem with IN statement in HiveQL. My table "cdr", column
>>     "calldate" which type is "date". First query is successfully return:
>>     select * from cdr where calldate = '2014-05-02';
>>
>>     But when query with IN statement,
>>
>>     select * from cdr where calldate in ( '2014-08-11','2014-05-02');
>>
>>     it returns below exception:
>>
>>     Error: Error while processing statement: FAILED: SemanticException
>>     [Error 10014]: Line 1:38 Wrong arguments ''20014-03-02'': The
>>     arguments
>>     for IN should be the same type! Types are: {date IN (string, string)}
>>     (state=42000,code=10014)
>>
>>     How can I handle this?
>>     Thanks.
>>
>>     Hive version 0.12
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> -- 
>> Sreenath S Kamath
>> Bangalore
>> Ph No:+91-9590989106 <tel:%2B91-9590989106>
>
>
> ------------------------------------------------------------------------
>
> The information in this e-mail is intended only for the person or 
> entity to which it is addressed.
>
> It may contain confidential and /or privileged material. If someone 
> other than the intended recipient should receive this e-mail, he / she 
> shall not be entitled to read, disseminate, disclose or duplicate it.
>
> If you receive this e-mail unintentionally, please inform us 
> immediately by "reply" and then delete it from your system. Although 
> this information has been compiled with great care, neither IMC 
> Financial Markets & Asset Management nor any of its related entities 
> shall accept any responsibility for any errors, omissions or other 
> inaccuracies in this information or for the consequences thereof, nor 
> shall it be bound in any way by the contents of this e-mail or its 
> attachments. In the event of incomplete or incorrect transmission, 
> please return the e-mail to the sender and permanently delete this 
> message and any attachments.
>
> Messages and attachments are scanned for all known viruses. Always 
> scan attachments before opening them.


Mime
View raw message