首页 > linux > linux shell 调度sqoop定时增量取数据
2014
07-28

linux shell 调度sqoop定时增量取数据

作用:每小时定时执行以下代码,能将上一个小时中的数据进行取出,用以进行数据分析和挖掘

把以下代码中需要修改的部分修改一下后创建一个sh文件,将修改该好的数据放进去就行了,这个是针对oracle的sqoop语句

红色字体为我后加的注释,要注意去掉

橙色部分为需要修改的部分,sql部分需要针对自己业务进行设计,注意最终输出地址:默认为hdfs地址,也可导进hive中,这个请自行百度

#!/bin/sh
#comments

当前小时(注意等号后面的字符两端有反单引号(即在英文输入状态下esc下面的按键按出来的),因为字体的原因本站显示不出来)
nowHour=`date “+%Y-%m-%d %H:00:00″`

上一小时(注意等号后面的字符两端有反单引号(即在英文输入状态下esc下面的按键按出来的),因为字体的原因本站显示不出来)
lastHour=`date -d -1hour “+%Y-%m-%d %H:00:00″`

sqoop要执行的sql语句
sql=”SELECT  id,TO_CHAR(logdate,’yyyy-mm-dd hh24:mi:ss’) FROM testT WHERE logdate >= TO_date(‘”$lastHour”‘,’yyyy-mm-dd hh24:mi:ss’) and logdate < TO_date(‘”$nowHour”‘,’yyyy-mm-dd hh24:mi:ss’) and  \$CONDITIONS”

sqoop命令
sqoop import –connect jdbc:oracle:thin:@192.168.0.xx:1521:orcl –username username–password pwd\
–query “\”$sql\”” \
–m 1 –append –target-dir /hdfs目录

最后编辑:
作者:小马哥
大数据技术学习及实践者~

留下一个回复

你的email不会被公开。