在配置单元脚本中指定默认参数值

时间:2014-05-07 07:41:30

标签: hive

我知道可以为hive查询/脚本指定参数,如下所示:

>hive -e "USE uk_pers_dev;set hive.cli.print.header=true;CREATE TABLE IF NOT EXISTS ${hiveconf:tablename} (mycol int);SELECT * FROM ${hiveconf:tablename};" -hiveconf tablename=mytable;

但是,我想要做的是在我的hive脚本中指定一个默认参数值,以便在没有从命令行传递值的情况下使用该值。这可能吗?

3 个答案:

答案 0 :(得分:0)

JT

你能用

吗?

SET myvar =“Hello World”

你的hive脚本里面的

SET myvar = COALESCE($ {hiveconf:myvar},“Default”);

SELECT * FROM MyTable WHERE MyColumn = $ {hiveconf:myvar};

OR

SELECT * FROM MyTable WHERE MyColumn = COALESCE($ {hiveconf:myvar},“Default”);

答案 1 :(得分:0)

好的我有一张叫做机场的桌子

name:string country:string area_code int

在HIVE中,我做了

SET mycol = name;
SELECT ${hiveconf:mycol} from airports;

适合我。

答案 2 :(得分:0)

好的,所以从逻辑上取下Hive

在POSH或cmd文件中

  1. 执行检查
  2. 如果需要替代
  3. 致电Hive
  4. 或许将其视为包装。

    阿伦