通过shell脚本做定时任务,用sqoop导出数据

一、shell脚本

[plain]  view plain  copy
  1. #!/bin/bash  
  2. #coding=UTF-8  
  3.   
  4. #date_year=$(date +%Y)  
  5. #echo $date_year  
  6. source /etc/profile  
  7. for((i=3;i<=8;i++));  
  8. do  
  9. /opt/sqoop-1.4.6/bin/sqoop import --connect jdbc:mysql://localhost:3306/ablesky_play_log   
  10. --query "SELECT id_cpl,id_account_cpl,id_course_cpl,play_time_cpl,CONCAT_WS('_', id_cpl, play_time_cpl)AS rowkey FROM sta_course_play_log_cpl_2017_0"$i" WHERE 1=1 AND id_account_cpl != 19 AND is_trial_cpl=1 AND \$CONDITIONS"   
  11. --split-by id_cpl    
  12. --hbase-table courseAuditionLog  
  13.  --column-family info   
  14. --hbase-row-key rowkey   
  15.  --username 'root'  
  16.  -password root  
  17. done   

动态插入变量
[plain]  view plain  copy
  1. $i  
只需要在query后的两个字符串之间即可,不用++连接


二、定时任务设置

[plain]  view plain  copy
  1. 25 16 * * *     /usr/bin/sh  /opt/cronfile/test/zhang/sqoop.sh >> /opt/cronfile/test/zhang/logs/sqoop_`date +\%Y\%m\%d\%H\%M\%S`.log 2>&1  

猜你喜欢

转载自blog.csdn.net/xiaoyutongxue6/article/details/79855199