hive里用shell脚本封装HiveF命令

hive里面有个hive -e 命令可以传参数,但是当hql语句多了以后,整个shell脚本会显得比较凌乱,当然有人可能会说hive -f可以实现直接调用一个file,bingo的确如此,但是还是有个很大的缺陷,就是这个不能传参数了,不能传参数在实际的工作中是无法忍受的。于是想到了封装一个命令HiveF,既能直接传入file,又能传参数。其实实现很简单,下面就把代码分享出来。当然还不是很完善,抛砖引玉吧。

#!/bin/bash

. /etc/profile

cat $1 > $1.tmp

for arg in “$@”

do

        echo “arg “$arg

        flag=`echo $arg | grep ‘-‘`

 if [ $arg != $1 ];then

        if [ $flag ];then

                tmp=`echo $flag | sed s/-//`

        else

                sed -i s/{$tmp}/$arg/g $1.tmp

                echo “nothing”

        fi

 fi

done

hive -f $1.tmp

rm -f $1.tmp

希望能对大家又说帮助。

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/192434.html

(0)
上一篇 2021年11月15日
下一篇 2021年11月15日

相关推荐

发表回复

登录后才能评论