crontab创建定时任务执行mapreduce,并将输出Load到数据库
来源:互联网 发布:网络对实体店的冲击 编辑:程序博客网 时间:2024/06/05 02:26
今天在执行mapreduce时特别慢,原因是在reduce函数里将计算结果直接写入数据库。10万条数据要插入1个多小时。
所以决定使用原来的方法,reduce输出到文件,然后用shell Load到mysql。
用crontab -l命令可以查看当前的任务
[root@datanode1 shell]# crontab -l*/50 * * * * /usr/sbin/ntpdate -b asia.pool.ntp.org30 7 * * * cd /root/hanfeng/shell; nohup sh statChannelForeign.sh &0 8 * * * cd /root/hanfeng/shell; nohup sh termreg.sh &
termreg.sh的内容是:
#!/bin/shset -xdeal_date=${1:-`date --date '1 days ago' +%Y%m%d`}sh termreg2hbase.sh ${deal_date}sh termactivecount.sh ${deal_date}sh statTermReg.sh ${deal_date}
得到时间,然后执行三个相关shell脚本。直接看看statTermReg.sh的内容吧:
#!/bin/shdeal_date=${1:-`date --date '1 days ago' +%Y%m%d`}hadoop fs -rmr /user/hdfs/result/stattermreg/${deal_date}/hadoop jar /root/hanfeng/lib/termreg.jar com.winksi.hadoop.regterminal.StatTermRegJob ${deal_date}cd /root/hanfeng/result/stattermregrm -rf *hadoop fs -get /user/hdfs/result/stattermreg/${deal_date}/part*cat part* > result.txtecho "DELETE FROM term_reg wHERE report_date=${deal_date} ;" | mysql -h172.16.1.81 -P3308 -uadmin -ptonggangdasha reportdbecho "LOAD DATA local INFILE 'result.txt' INTO TABLE term_reg FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (report_date,channel_code,model,av,area_id,num) ;" | mysql -h172.16.1.81 -P3308 -uadmin -ptonggangdasha reportdb;
这样生成10W条数据Load到mysql,只需要10S。
默认reduce输出的key和value之间是用\t分割的,这个可以修改
config.set("mapred.textoutputformat.separator", ",");
这样,key和value之间就是用“,”分割
0 0
- crontab创建定时任务执行mapreduce,并将输出Load到数据库
- Crontab 定时执行任务 (
- crontab 定时执行任务
- crontab执行定时任务
- crontab --定时执行任务
- Linux定时任务crontab执行脚本无输出
- Linux crontab定时执行任务
- crontab定时启动执行任务
- Linux crontab 定时执行任务
- Linux crontab定时执行任务
- crontab 定时任务没有执行
- Linux crontab定时执行任务
- Linux定时任务执行crontab
- linux crontab定时执行任务
- PHP定时执行任务 crontab
- Linux crontab定时执行任务
- 【Linux】crontab定时执行任务
- 使用Crontab定时执行任务
- wchar_t*和char*之间的互相转换的那些事
- 利用JSTL的循环输出Map中的值
- “hello world”驱动实现过程(ARM板上)
- UIButton上同时显示图片和文字的方法
- yii 添加,操作成功,但数据并没有插入到数据库中
- crontab创建定时任务执行mapreduce,并将输出Load到数据库
- 随想
- Tomcat基本设置
- Hibernate中 一对一 唯一外键关联映射
- Ubuntu Linux, 不要弄什么 wine,龙井 或者什么等 QQ 了。
- 白话windows内核对象共享之继承
- do{}while(0);
- UVA 112(二叉树、DFS)
- KVO/KVC