contab与hive自动执行任务

yum install vixie-cron //cron的主程序
yum install crontabs //驱动,安装、卸载、或列举来驱动cron守护进程的表格程序
service crond start
service crond stop
service crond restart
service crond reload //重新载入
service crond status
查看crontab服务是否已经设置开机启动,执行:ntsysv
加入开机自动启动:chkconfig -level 35 crond on
mkdir sabercrond
crontab sabercrond
crontab -e //编辑
crontab -l //查看
crontab -r //删除

例子:每天定时将数据添加到当天日期分区的分区表中

!/bin/sh

upload logs to hdfs

yesterday=date --date=\'1 days ago\' +%Y%m%d
hive -e \”
use stage;
create table tracklog_tmp (
dateday string,
datetime string,
ip string ,
cookieid string,
userid string,
logserverip string,
referer string,
requesturl string,
remark1 string,
remark2 string,
alexaflag string,
ua string,
wirelessflag string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY \’ \’;\”
hive -e \”
use stage;
set hive.enforce.bucketing=true;
set hive.exec.compress.output=true;
set mapred.output.compress=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;
load data local inpath \’/diskg/logs/tracklog_192.168.1.1/ yesterday/ {yesterday}????.dat\’ overwrite into table tracklog_tmp;
insert into table tracklog PARTITION (day=\’ yesterday\’)selectfromtracklogtmp;loaddatalocalinpath\’/diskg/logs/tracklog192.168.1.2/ {yesterday}/ yesterday????.dat\’overwriteintotabletracklogtmp;insertintotabletracklogPARTITION(day=\’ {yesterday}\’) select * from tracklog_tmp;
load data local inpath \’/diskg/logs/tracklog_192.168.1.3/ yesterday/ {yesterday}????.dat\’ overwrite into table tracklog_tmp;
insert into table tracklog PARTITION (day=\’ yesterday\’)selectfromtracklogtmp;loaddatalocalinpath\’/diskg/logs/trackloguc192.168.1.1/ {yesterday}/ yesterday????.dat\’overwriteintotabletracklogtmp;insertintotabletracklogPARTITION(day=\’ {yesterday}\’) select * from tracklog_tmp;
load data local inpath \’/diskg/logs/trackloguc_192.168.1.2/ yesterday/ {yesterday}????.dat\’ overwrite into table tracklog_tmp;
insert into table tracklog PARTITION (day=\’ yesterday\’)selectfromtracklogtmp;loaddatalocalinpath\’/diskg/logs/trackloguc192.168.1.3/ {yesterday}/ yesterday????.dat\’overwriteintotabletracklogtmp;insertintotabletracklogPARTITION(day=\’ {yesterday}\’) select * from tracklog_tmp;
\”
hive -e \”
use stage;
drop table tracklog_tmp ;\”

最后
在crontab中加入定时任务:

crontab -e
加入如下代码:

import tracklog

25 07 * * * /opt/bin/hive_opt/import_tracklog.sh

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值