bco 发表于 2018-8-28 06:39:26

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
  希望能对大家又说帮助。

页: [1]
查看完整版本: hive里用shell脚本封装HiveF命令