0


海豚dolphinscheduler 通过shell 调用.sql文件 传参

1. 准备sql文件

1.1 资源中心--创建文件

    ![](https://img-blog.csdnimg.cn/921fee973ca045db928b283160d64f8c.png)

1.2 文件格式选择 sql, 文件内容 填要执行的sql内容

1.3 点击创建保存

2.shell调用.sql文件

2.1 拖拽一个shell 节点

2.2 编辑shell节点

hive -e:后面跟hivesql字符串

    例如:hive -e "select * from student;"

    传参举例:hive  --hivevar monthid="201809" --database deafult -e 'select * from a1 where concat(year, month) = ${monthid} limit 10';

hive -f:执行脚本中sql语句

    例如: hive -f /export/test.sql

    传参举例:hive -hivevar dayid="2022-12-28" -hivevar endid="26" -f testvar.sql

说明:在运行hive命令时传入参数,使用-hivevar 和 -hiveconf 两种参数选项,来给此次的执行脚本传入参数
-hivevar : 传参数 ,专门提供给用户自定义变量。
-hiveconf : 传参数,包括了hive-site.xml中配置的hive全局变量。
举例:hive --hiveconf "mapred.job.queue.name=root.default" --hivevar monthid="201809" --database default -e 'select * from mydb where concat(year, month) = ${monthid} limit 10';

拓展1:shell中定义变量用双引号和单引号以及不用引号的区别
a:单引号:不管里面的是否有变量或者其他的表达式都是原样子输出
b:双引号:如果其定义变量的时候使用双引号的话,则里面的变量或者函数会通过解析,解析完成后再输出内容,而不是把双引号中的变量名以及命令原样子输出
c:不使用引号:用于一些简单字符数字的定义与双引号类似

拓展2:shell变量的特点

    a:shell变量没有数据类型的区分
     b:Shell 把任何存储在变量中的值,皆视为以字符组成的“字符串”
     c:若变量值中存在空格,必须用双引号" "把值包括进来
     d:=号、等号两边不能存在空格

2.3 点击右下角确认添加 保存


本文转载自: https://blog.csdn.net/wanglifengchao222/article/details/128468975
版权归原作者 angela_bigdata 所有, 如有侵权,请联系我们删除。

“海豚dolphinscheduler 通过shell 调用.sql文件 传参”的评论:

还没有评论