Support Questions
Find answers, ask questions, and share your expertise
Announcements
Check out our newest addition to the community, the Cloudera Innovation Accelerator group hub.

How to set variable in hive partition ?

Hello all,

How to set variable in hive and insert value as partition? I have below commands and the partition is not getting from the variable that I set but getting constant "var" instead datetime.

set hiveVar:var= from_unixtime(unix_timestamp()-1*60*60*4, 'yyyyMMddHH');

INSERT INTO TABLE tmp Partition (datehour='${hiveVar:var}') SELECT * FROM tmp2;

Please help.

Thanks

JN

1 ACCEPTED SOLUTION

@JT Ng

Just omit the quotes and fire the insert.

INSERT INTO TABLE tmp Partition (datehour=${hiveVar:var}) SELECT * FROM tmp2;

You can also test before firing the insert like this:

select ${hiveVar:var};

You should be good.

Thanks

View solution in original post

2 REPLIES 2

@JT Ng

Just omit the quotes and fire the insert.

INSERT INTO TABLE tmp Partition (datehour=${hiveVar:var}) SELECT * FROM tmp2;

You can also test before firing the insert like this:

select ${hiveVar:var};

You should be good.

Thanks

@JT Ng

You might want to close the thread by accepting the answer.