1. 准备sql文件

1.1 资源中心--创建文件

        

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 点击右下角确认添加 保存

 

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: