Variable support was not added until hive 0.7.0

On Sat, Aug 4, 2012 at 3:58 AM, Lefty Leverenz <le...@hortonworks.com> wrote:
> Does Hive 0.6 support underscores in variable names?
>
> Just a thought.  The examples I've seen contain letters and dots (".") but
> no other characters.
>
> – Lefty
>
>
>
>
> On Sat, Aug 4, 2012 at 12:39 AM, Bejoy KS <bejoy...@yahoo.com> wrote:
>>
>> Yes that is the right issue. Variable substitution is not happening. I
>> can't say much here as I haven't tried out this on 0.6 . The code on my blog
>> post is based on 0.7 or higher version I guess.
>> Regards
>> Bejoy KS
>>
>> Sent from handheld, please excuse typos.
>> ________________________________
>> From: Techy Teck <comptechge...@gmail.com>
>> Date: Sat, 4 Aug 2012 00:35:20 -0700
>> To: <user@hive.apache.org>; <bejoy...@yahoo.com>
>> ReplyTo: user@hive.apache.org
>> Subject: Re: Passing date as command line arguments
>>
>> Hi Bejoy,
>>
>> I found something very strange. When I actually viewed the Hive log file,
>> I found something like this- See the thing in red color. Why is it like so?
>>
>> SessionStart SESSION_ID="rjamal_201208041433" TIME="1344065620956"
>> QueryStart QUERY_STRING=" select * from lip_data_quality where dt =
>> '${hiveconf:start_date}'"
>> QUERY_ID="rjamal_20120804143333_3719afde-117d-4c6b-a322-0cff6e4b4c5d"
>> TIME="1344065629740"
>> Counters
>> plan="{"queryId":"rjamal_20120804143333_3719afde-117d-4c6b-a322-0cff6e4b4c5d","queryType":null,"queryAttributes":{"queryString":"
>> select * from lip_data_quality where dt =
>> '${hiveconf:start_date}'"},"queryCounters":"null","stageGraph":{"nodeType":"1","roots":"null","adjacencyList":"]"},"stageList":"]","done":"false","started":"true"}"
>> TIME="1344065629743"
>> QueryEnd QUERY_STRING=" select * from lip_data_quality where dt =
>> '${hiveconf:start_date}'"
>> QUERY_ID="rjamal_20120804143333_3719afde-117d-4c6b-a322-0cff6e4b4c5d"
>> QUERY_RET_CODE="0" QUERY_NUM_TASKS="0" TIME="1344065629745"
>> Counters
>> plan="{"queryId":"rjamal_20120804143333_3719afde-117d-4c6b-a322-0cff6e4b4c5d","queryType":null,"queryAttributes":{"queryString":"
>> select * from lip_data_quality where dt =
>> '${hiveconf:start_date}'"},"queryCounters":"null","stageGraph":{"nodeType":"1","roots":"null","adjacencyList":"]"},"stageList":"]","done":"true","started":"true"}"
>> TIME="1344065629745"
>>
>> On Sat, Aug 4, 2012 at 12:30 AM, Techy Teck <comptechge...@gmail.com>
>> wrote:
>>>
>>> I cannot try that on Higher version of Hive as I am working in a company
>>> where they have installed only Hive 0.6 on the Ares cluster.
>>>
>>> :(
>>>
>>>
>>>
>>>
>>> On Sat, Aug 4, 2012 at 12:29 AM, Bejoy KS <bejoy...@yahoo.com> wrote:
>>>>
>>>>
>>>> Try it on a higher version of hive and let me know if that doesn't work
>>>> still. 0.9 should be good.
>>>>
>>>>
>>>> Regards
>>>> Bejoy KS
>>>>
>>>> Sent from handheld, please excuse typos.
>>>> ________________________________
>>>> From: Techy Teck <comptechge...@gmail.com>
>>>> Date: Sat, 4 Aug 2012 00:26:44 -0700
>>>> To: <user@hive.apache.org>; <bejoy...@yahoo.com>
>>>> ReplyTo: user@hive.apache.org
>>>> Subject: Re: Passing date as command line arguments
>>>>
>>>> Yes it is String for me here.
>>>>
>>>> This is the table structure by the way-
>>>>
>>>> create table lip_data_quality
>>>> ( buyer_id bigint,
>>>>   total_chkout bigint,
>>>>   total_errpds bigint
>>>>  )
>>>>  partitioned by (dt string)
>>>> row format delimited fields terminated by '\t'
>>>> stored as sequencefile
>>>> location '/apps/hdmi-technology/b_apdpds/lip-data-quality'
>>>> ;
>>>>
>>>> in which I am using dt in the where clause in my query. I am running
>>>> Hive 0.6.
>>>>
>>>>
>>>>
>>>> On Sat, Aug 4, 2012 at 12:24 AM, Bejoy KS <bejoy...@yahoo.com> wrote:
>>>>>
>>>>> I tried the same query on my end, It is working fine for me without any
>>>>> issues.
>>>>>
>>>>> By de way the data type for 'dt' is String itself right?
>>>>> Regards
>>>>> Bejoy KS
>>>>>
>>>>> Sent from handheld, please excuse typos.
>>>>> ________________________________
>>>>> From: Techy Teck <comptechge...@gmail.com>
>>>>> Date: Sat, 4 Aug 2012 00:21:37 -0700
>>>>> To: <user@hive.apache.org>; <bejoy...@yahoo.com>
>>>>> ReplyTo: user@hive.apache.org
>>>>> Subject: Re: Passing date as command line arguments
>>>>>
>>>>> I was not able to understand. So what changes I need to make? This is
>>>>> my below hivetest1.hql-
>>>>>
>>>>> select * from lip_data_quality where dt = '${hiveconf:start_date}';
>>>>>
>>>>> And by this I am executing the above hql file-
>>>>>
>>>>> hive -f hivetest1.hql -hiveconf start_date=20120709
>>>>>
>>>>>
>>>>> Any thoughts what changes I need to make?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Aug 4, 2012 at 12:16 AM, Bejoy KS <bejoy...@yahoo.com> wrote:
>>>>>>
>>>>>> Yes.
>>>>>>
>>>>>> From the logs the query being executed is
>>>>>> select * from lip_data_quality where dt=20120709
>>>>>>
>>>>>> But here the dt is not in quotes. It should be like
>>>>>> select * from lip_data_quality where dt='20120709';
>>>>>> Regards
>>>>>> Bejoy KS
>>>>>>
>>>>>> Sent from handheld, please excuse typos.
>>>>>> ________________________________
>>>>>> From: Techy Teck <comptechge...@gmail.com>
>>>>>> Date: Sat, 4 Aug 2012 00:07:07 -0700
>>>>>> To: <user@hive.apache.org>; Bejoy Ks<bejoy...@yahoo.com>
>>>>>> ReplyTo: user@hive.apache.org
>>>>>> Subject: Re: Passing date as command line arguments
>>>>>>
>>>>>> I found this thing from the Hive log. This is what you are looking
>>>>>> for?-
>>>>>>
>>>>>> SessionStart SESSION_ID="rjamal_201208041359" TIME="1344063565655"
>>>>>> QueryStart QUERY_STRING="select * from lip_data_quality where
>>>>>> dt=20120709"
>>>>>> QUERY_ID="rjamal_20120804135959_58e245e8-086a-47c2-9ed3-6b952e4a5486"
>>>>>> TIME="1344063597488"
>>>>>> Counters
>>>>>> plan="{"queryId":"rjamal_20120804135959_58e245e8-086a-47c2-9ed3-6b952e4a5486","queryType":null,"queryAttributes":{"queryString":"select
>>>>>> * from lip_data_quality where dt=20120709"},"queryCo
>>>>>>
>>>>>> unters":"null","stageGraph":{"nodeType":"1","roots":"null","adjacencyList":"]"},"stageList":"]","done":"false","started":"true"}"
>>>>>> TIME="1344063597501"
>>>>>> QueryEnd QUERY_STRING="select * from lip_data_quality where
>>>>>> dt=20120709"
>>>>>> QUERY_ID="rjamal_20120804135959_58e245e8-086a-47c2-9ed3-6b952e4a5486"
>>>>>> QUERY_RET_CODE="0" QUERY_NUM_TASKS="0" TIME="134406359
>>>>>> 7503"
>>>>>> Counters
>>>>>> plan="{"queryId":"rjamal_20120804135959_58e245e8-086a-47c2-9ed3-6b952e4a5486","queryType":null,"queryAttributes":{"queryString":"select
>>>>>> * from lip_data_quality where dt=20120709"},"queryCo
>>>>>>
>>>>>> unters":"null","stageGraph":{"nodeType":"1","roots":"null","adjacencyList":"]"},"stageList":"]","done":"true","started":"true"}"
>>>>>> TIME="1344063597504"
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Aug 3, 2012 at 11:58 PM, Techy Teck <comptechge...@gmail.com>
>>>>>> wrote:
>>>>>>>
>>>>>>> Yes that query gives me the result back correctly.
>>>>>>>
>>>>>>> How can I see the hive log Bejoy?  Basically I am not sure which hive
>>>>>>> log and what is the path where I can see that thing?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Aug 3, 2012 at 11:52 PM, Bejoy Ks <bejoy...@yahoo.com> wrote:
>>>>>>>>
>>>>>>>> Hi Techy
>>>>>>>>
>>>>>>>> Are you getting the results for the same query directly from CLI, I
>>>>>>>> mean does the below query return correct results
>>>>>>>> select * from lip_data_quality where dt = '20120709';
>>>>>>>>
>>>>>>>> If the above query returns results, can you check the hive logs and
>>>>>>>> see what is the actual query being executed?
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Bejoy KS
>>>>>>>>
>>>>>>>> ________________________________
>>>>>>>> From: Techy Teck <comptechge...@gmail.com>
>>>>>>>> To: user@hive.apache.org
>>>>>>>> Cc: Vijay Dirisala <tec...@gmail.com>
>>>>>>>> Sent: Saturday, August 4, 2012 12:11 PM
>>>>>>>> Subject: Re: Passing date as command line arguments
>>>>>>>>
>>>>>>>> Thanks Vijay for the suggestion. I also tried that and it still
>>>>>>>> didn't worked for me.
>>>>>>>>
>>>>>>>> Any thoughts why it is not working?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Aug 3, 2012 at 11:32 PM, Vijay <tec...@gmail.com> wrote:
>>>>>>>>
>>>>>>>> There can't be a space in the variable name. Try this:
>>>>>>>> ${hiveconf:start_date}
>>>>>>>>
>>>>>>>> On Fri, Aug 3, 2012 at 11:06 PM, Techy Teck
>>>>>>>> <comptechge...@gmail.com> wrote:
>>>>>>>> > Can anyone help me out on this?
>>>>>>>> >
>>>>>>>> > I am stuck on this and I have no clue what wrong I am doing?
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > On Fri, Aug 3, 2012 at 3:48 PM, Techy Teck
>>>>>>>> > <comptechge...@gmail.com> wrote:
>>>>>>>> >>
>>>>>>>> >> I have my below query in test1.hql file. I am trying to pass the
>>>>>>>> >> date (dt)
>>>>>>>> >> as the command line argument.
>>>>>>>> >>
>>>>>>>> >>
>>>>>>>> >> select * from lip_data_quality where dt = '${hiveconf:
>>>>>>>> >> start_date}';
>>>>>>>> >>
>>>>>>>> >>
>>>>>>>> >> So whenever I try to run the above test1.hql file like this-
>>>>>>>> >>
>>>>>>>> >>  hive -f hivetest1.hql -hiveconf start_date=20120709
>>>>>>>> >>
>>>>>>>> >> I get zero records back. But the data is there in that table for
>>>>>>>> >> that
>>>>>>>> >> date. Why is it so? Something wrong I am doing?
>>>>>>>> >>
>>>>>>>> >> Can anyone help me out here? I was following Bejoy's Article here
>>>>>>>> >>
>>>>>>>> >> http://kickstarthadoop.blogspot.com/2011/10/include-values-during-execution-time-in.html
>>>>>>>> >>
>>>>>>>> >>
>>>>>>>> >
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to