hive sql文件动态传参和sql语句传参-爱代码爱编程
数仓每天都会有定时跑的任务,都是要依赖脚本和SQL文件,现将hive执行脚本执行的2种方式给大家整理一下
1,首先是通过hive -e模式进行调度执行,这个非常严格,不能出现一点问题,脚本内容如下,source的意思是导入对应的模块内容
#!/bin/bash
source $(dirname $(readlink -f "test.sh"))/init.sh
m="select * from ${TEST}.student where dt>='2022-10-25'"
echo "$m"
/root/data/apache-hive/bin/hive -e "$m"
2,通过执行SQL文件,可以减少代码的冗余,保持简洁,文件格式如下:
#!/bin/bash
start="/root/data/apache-hive/bin/hive "
stg="--hivevar STG=stg "
ods="--hivevar ODS_DB=ods "
ads="--hivevar ADS_DB=ads "
dwd="--hivevar DWD_DB=dwd "
dw="--hivev