shell脚本调用hive示例

方法一:

   建立shell脚本如下run.sh如下:

#!/bin/sh

#参数传递

source /etc/profile;
source ~/.bash_profile;
BASEDIR=`dirname $0`
cd $BASEDIR

#classpath优先当前目录
CLASSPATH=$BASEDIR
#classpath其次是config目录
#classpath再次是lib目录下面的所有jar包

#设置参数
D=`date +%Y-%m-%d`
YESTODAY=`date -d "1 days ago" +%Y-%m-%d`

if [ $# == 2  ]; then
  YESTODAY=$2
fi

if [ $# == 4  ]; then
  D=$4
  YESTODAY=$2
fi

#HQL
hive<<EOF
LOAD DATA LOCAL INPATH '$HADOOP_DATA_HOME/consume-$YESTODAY.csv' OVERWRITE INTO TABLE tlbb.consume_log PARTITION (dt='$YESTODAY');
EOF

 方法二、

  #!/bin/sh


#参数传递

source /etc/profile;
source ~/.bash_profile;
BASEDIR=`dirname $0`
cd $BASEDIR

#classpath优先当前目录
CLASSPATH=$BASEDIR
#classpath其次是config目录
#classpath再次是lib目录下面的所有jar包

#设置参数
D=`date +%Y-%m-%d`
YESTODAY=`date -d "1 days ago" +%Y-%m-%d`

if [ $# == 2  ]; then
  YESTODAY=$2
fi

if [ $# == 4  ]; then
  D=$4
  YESTODAY=$2
fi

echo "LOAD DATA LOCAL INPATH '/data/tlbb/hadoop_data/billlogout-$YESTODAY.csv' OVERWRITE INTO TABLE tlbb.logout_log PARTITION (dt='$YESTODAY');" | hive 

 然后使用crontab进行定时调度了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值