您好,欢迎来到外链网!
当前位置:外链网 » 站长资讯 » 专业问答 » 文章详细 订阅RssFeed

shell中循环调用hive sql 脚本的方法(shell循环调用函数)

来源:互联网 浏览:75次 时间:2023-04-08

脚本tt.sh的内容如下:

#!/bin/bash

params=$1
for param in $params
 do
 echo $param
 done
在shell脚本中执行mysql,调用sql文件,将sql文件执行结果存入新的日志文件中,但日志文件没有sql结果

运行方式为:sh tt.sh "1 2 3 4 5"

输出为:

如何在SQL查询调用CMD命令
1
2
3
4
5

所以参考上面的命令,可以把hql的脚本写为如下方式,就可以循环执行sql:

如何在SQL查询调用CMD命令

功能:查找字符串 comments 中的param第一次出现的位置 ,返回的是位置数字

#!/bin/bash

params=$1
for param in $params
 do
 hive -e "insert overwrite local directory '/tmp/$param'
 row format delimited fields terminated by '\t'
 select locate('$param',comments) as position from tb_a;"
 done

功能:查找评论中出现关键字的内容,没有关键词的内容过滤掉

#!/bin/bash
params=$1
for param in $params
 do
 hive -e "insert overwrite local directory '/tmp/$param'
 row format delimited fields terminated by '\t'
 select position from 
  (select locate('$param',comments) as position from tb_a where position != '0') a 
 where a.position !='0' ;"
 done

以上这篇shell中循环调用hive sql 脚本的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持站长源码网。

本文从互联网转载,来源地址:www.downzz.com/linux-shell/170457.html,原作者保留一切权利,若侵权或引用不当,请联系茶猫云(cmy.cn)删除。【茶猫云,优质云服务器提供商】