Hive脚本参数的默认值

时间:2018-02-27 11:46:45

标签: hive hiveql

如果参数尚未设置

,我想使用参数的默认值

e.g。 hive -d param1=2014-06-20

我可以检索该值,即

hive> select '${param1}';
OK
2014-06-20

但是对于尚未设置的变量,结果为

hive> select '${param2}';
OK
${param2}

我原本期望null等等

最终我想为参数使用默认值(如果尚未传入),例如

SELECT * FROM test_table t
WHERE t.date < COALESCE(${param1}, CURRENT_DATE)

1 个答案:

答案 0 :(得分:1)

似乎没有直接记录的方法来执行此操作,但可以测试参数值,如果值等于名称,则返回默认值。即。

hive> select if(locate('${par', '${param2}')==0, '${param2}', CURRENT_DATE);
OK
2018-03-09