shell脚本调用hive示例

方法一:

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

 

  1. #!/bin/sh  
  2.   
  3. #参数传递  
  4.   
  5. source /etc/profile;  
  6. source ~/.bash_profile;  
  7. BASEDIR=`dirname $0`  
  8. cd $BASEDIR  
  9.   
  10. #classpath优先当前目录  
  11. CLASSPATH=$BASEDIR  
  12. #classpath其次是config目录  
  13. #classpath再次是lib目录下面的所有jar包  
  14.   
  15. #设置参数  
  16. D=`date +%Y-%m-%d`  
  17. YESTODAY=`date -d "1 days ago" +%Y-%m-%d`  
  18.   
  19. if [ $# == 2  ]; then  
  20.   YESTODAY=$2  
  21. fi  
  22.   
  23. if [ $# == 4  ]; then  
  24.   D=$4  
  25.   YESTODAY=$2  
  26. fi  
  27.   
  28. #HQL  
  29. hive<<EOF  
  30. LOAD DATA LOCAL INPATH '$HADOOP_DATA_HOME/consume-$YESTODAY.csv' OVERWRITE INTO TABLE tlbb.consume_log PARTITION (dt='$YESTODAY');  
  31. EOF  

 方法二、

  #!/bin/sh

  1. #参数传递  
  2.   
  3. source /etc/profile;  
  4. source ~/.bash_profile;  
  5. BASEDIR=`dirname $0`  
  6. cd $BASEDIR  
  7.   
  8. #classpath优先当前目录  
  9. CLASSPATH=$BASEDIR  
  10. #classpath其次是config目录  
  11. #classpath再次是lib目录下面的所有jar包  
  12.   
  13. #设置参数  
  14. D=`date +%Y-%m-%d`  
  15. YESTODAY=`date -d "1 days ago" +%Y-%m-%d`  
  16.   
  17. if [ $# == 2  ]; then  
  18.   YESTODAY=$2  
  19. fi  
  20.   
  21. if [ $# == 4  ]; then  
  22.   D=$4  
  23.   YESTODAY=$2  
  24. fi  
  25.   
  26. echo "LOAD DATA LOCAL INPATH '/data/tlbb/hadoop_data/billlogout-$YESTODAY.csv' OVERWRITE INTO TABLE tlbb.logout_log PARTITION (dt='$YESTODAY');" | hive   

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值