作用:每小时定时执行以下代码,能将上一个小时中的数据进行取出,用以进行数据分析和挖掘
把以下代码中需要修改的部分修改一下后创建一个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目录
CIO之家 www.ciozj.com 公众号:imciow