千家信息网

hive里用shell脚本封装HiveF命令

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,hive里面有个hive -e 命令可以传参数,但是当hql语句多了以后,整个shell脚本会显得比较凌乱,当然有人可能会说hive -f可以实现直接调用一个file,bingo的确如此,但是还是有个
千家信息网最后更新 2025年02月01日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

希望能对大家又说帮助。

0