很多SQL需要重复执行,可能是每天执行一次,而需要修改的只是SQL中的日期字段,这种情况下可以使用 参数代入
使用的方式
-
$ hive -d key1=value1 -d key2=value -d key3=value3 ...
复制代码
例子-1:
-
hive -d shell_date_1='20120425' -d shell_date_2='20120426'
-
hive> set shell_date_1;
-
shell_date_1=20120425
-
hive> set shell_date_2;
-
shell_date_2=20120426
-
hive> explain select * from dual where user_id = ${shell_date_1};
复制代码
这里面的 shell_date_1 会替换为 20120425
例子-2:
-
hive -d shell_date_1='20120425' -d shell_date_2='20120426' \
-
-e "explain select * from dual where user_id = ${shell_date_1}"
复制代码
例子-3:
内容为:
-
explain select * from dual where user_id = ${shell_date_1}
-
hive -d shell_date_1='20120425' -f hive.sql
复制代码
|