码迷,mamicode.com
首页 > 系统相关 > 详细

hive里用shell脚本封装HiveF命令

时间:2016-06-22 15:59:02      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:hive   命令封装   

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

希望能对大家又说帮助。

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

hive里用shell脚本封装HiveF命令

标签:hive   命令封装   

原文地址:http://askjoey.blog.51cto.com/7594056/1791712

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!