hive里用shell脚本封装HiveF命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 "[email protected]"

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

希望能对大家又说帮助。

本文出自 “AskJoey” 博客,请务必保留此出处http://askjoey.blog.51cto.com/7594056/1791712

以上是关于hive里用shell脚本封装HiveF命令的主要内容,如果未能解决你的问题,请参考以下文章

Hive常用交互命令—悟空智慧教育

Spark-submit提交任务,封装shell脚本,shell脚本创建HBase表,批量导hive表

linux_shell 编程学习-初识she'll

Shell编程—构建基本脚本

如何查看hivesql里执行了哪些查询

shell编程