通過shell指令碼做定時任務,用sqoop匯出資料
阿新 • • 發佈:2019-01-05
一、shell指令碼
- #!/bin/bash
- #coding=UTF-8
- #date_year=$(date +%Y)
- #echo $date_year
- source /etc/profile
- for((i=3;i<=8;i++));
- do
- /opt/sqoop-1.4.6/bin/sqoop import --connect jdbc:mysql://localhost:3306/ablesky_play_log
- --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"
- --split-by id_cpl
- --hbase-table courseAuditionLog
- --column-family info
- --hbase-row-key rowkey
- --username 'root'
- -password root
- done
動態插入變數只需要在query後的兩個字串之間即可,不用++連線
二、定時任務設定
- 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