hadoop自动提交脚本
自动提交到hadoop系统,然后调用wordcount的任务,并下载输出的文件。
#!/bin/sh
#从给定的路径获取文件列表,提交到hadoop系统,使用wordcount的功能统计单词数量
#echo "$#"
if [ $# -ne ]; then
echo "请输入文件的路径"
exit
fi
#echo "$1"
filecount=$(ls $|wc -w)
#echo $filecount
#if [ $filecount -lt ]; then
#fi
submitcount=
wordsubmitlog=wordsubmitlog.log
hadoopdellog=hadoopdellog.log
for f in $ ;
do
if [ -f $wordsubmitlog ]; then
echo
else
#不存在文件的时候创建
touch $wordsubmitlog
fi
existsubmit=$(cat $wordsubmitlog|grep $f|wc -l)
if [ $existsubmit -lt ]; then
echo "$f"|cat>>$wordsubmitlog
hadoop fs -put $f /wz/wordcount/input/
#rm -f $f
let submitcount=submitcount+
fi
done
#有提交文件才执行
if [ $submitcount -ge ]; then
hadoop jar /usr/hadoop/hadoop-examples-1.2..jar wordcount /wz/wordcount/input /wz/wordcount/output
rm -f part-r-*
hadoop fs -get /wz/wordcount/output/part-r-* . #下载到当前目录
#重命名下载下来的文件,并移动到其他的文件夹
pcount=0
newfilename=$(date +'%Y%m%d%H%M%S')
#echo $newfilename
for p in part-r-*;
do
if [ -f $p ]; then
let pcount=pcount+1
#newfilename=$(date +'%Y%m%d%H%M%S')
newfilename=$(echo part-r-"$newfilename"_"$pcount".dat)
echo $newfilename
mv $p $newfilename
mv $newfilename part/
fi
done
echo "`date +'%Y-%m-%d %H:%M:%S'`"|cat>>$hadoopdellog
hadoop fs -rmr /wz/wordcount/input/*|cat>>$hadoopdellog
hadoop fs -rmr /wz/wordcount/output|cat>>$hadoopdellog
echo "执行完成"
else
echo "没有提交的文件"
fi
-- 插入 -- 30,4-18 95%
如果用crontab设置自动运行的话,需要将上面的所有路径设置为绝对路径,包括hadoop
例如 hadoop的命令需要写成 /usr/hadoop/bin/hadoop jar ......
文件日志也要写错绝对路径
使用crontab添加任务是也要设置绝对路径
例如设置每隔5分钟执行一次:
*/5 * * * * /usr/hadoop/xxx.sh &> /dev/null //表示不用发送邮件告知,否则会收到很多邮件通知
另外,hadoop运行时如果日志不想显示出来,可以先重定向到0 然后再从2输出
例如 hadoop jar ......>0 2>>xxx.log
0表示 stderr 1表示stdin 2表示stdout
hadoop自动提交脚本的更多相关文章
- git自动提交脚本
每次在linux都要重新一遍一遍敲着这些重复的代码,我想着能够优化一下,做个一键脚本,减少重复劳动. #!/bin/bash git status read -r -p "是否继续提交? [ ...
- hadoop自动安装脚本
还不能实现完全自动安装,只能算半自动的. 进行交互主要障碍有两点: 1. ssh-keygen的时候需要点击回车. 2. passwd 需要设置密码 如果谁能解决以上两点,欢迎email给我. 另外 ...
- 【颓废篇】Py:从零开始的poj自动提交
之前学习了一些python的爬虫技术... 已经可以通过python来水blog的阅读量了 你知道的太多了, 然而你看我这个blog惨不忍睹的访问量, 有人吗? 有人吗? 今天突然又双叒叕心血来潮想写 ...
- 自动提交Git branch代码评审到Review Board系统
背景 敏捷软件开发中,越小的反馈环,意味着软件质量越容易得到保证. 作为组件团队,我们的开发任务中,往往存在一些特性涉及到几十个功能点,开发周期持续数周或数月的情况.如何在开发过程中保证软件质量,是个 ...
- 使用RBTool自动提交code review请求
使用RBTool自动提交code review请求 前言 让我们回想一下手工提交review请求的过程: 首先得用 svn diff > filename.diff 生成diff文件. 然后输入 ...
- Hadoop的shell脚本分析
你会发现hadoop-daemon.sh用于启动单独的本机节点 而hadoop-daemons.sh 会批量的ssh到别的机器启动 前记: 这些天一直学习hadoop,学习中也遇到了许多的问题,主要是 ...
- Hadoop作业提交之TaskTracker获取Task
[Hadoop代码笔记]Hadoop作业提交之TaskTracker获取Task 一.概要描述 在上上一篇博文和上一篇博文中分别描述了jobTracker和其服务(功能)模块初始化完成后,接收JobC ...
- PHP PDO 事务与自动提交
现在通过 PDO 连接上了,在开始进行查询前,必须先理解 PDO 是如何管理事务的. 事务支持四大特性(ACID): 原子性(Atomicity) 一致性(Consistency) 隔离性(Isola ...
- SQL Server镜像自动生成脚本
SQL Server镜像自动生成脚本 镜像的搭建非常繁琐,花了一点时间写了这个脚本,方便大家搭建镜像 执行完这个镜像脚本之后,最好在每台机器都绑定一下hosts文件,不然的话,镜像可能会不work 1 ...
随机推荐
- 【CSS】网页样式记录
一.按钮 p.tiy { display: inline-block; margin-top: 15px; margin-bottom: 10px; vertical-align: middle; t ...
- iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误
在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ...
- Ironic 安装和配置详解
转自:http://amar266.blogspot.com/2014/12/ironic-installation-and-configuration.html 1.Install Openstac ...
- CSS3和jQuery实现的自定义美化Checkbox和Radiobox
现在经常可以在网络上看到一些非常奇特的表单元素,例如Checkbox复选框和Radiobox单选框,浏览器默认的样式确实是太丑了,而且更让人蛋疼的是各个浏览器的样式还不统一,考虑到现在越来越多的用户使 ...
- CentOS 7 打开关闭FirewallD防火墙端口命令
CentOS 7 使用firewalld代替了原来的iptables,使用方法如下: >>>关闭防火墙 systemctl stop firewalld.service ...
- git解决冲突(rebase版)
当使用git rebase碰到冲突时, git rebase <Remote Branch>/<Your Branch> 信息如下: error: Failed to merg ...
- 视锥体(frustum)裁剪
原文地址:http://www.linuxgraphics.cn/graphics/opengl_view_frustum_culling.html 背景 视锥体(frustum),是指场景中摄像机的 ...
- kafka学习之-server.properties详细说明
http://blog.csdn.net/lizhitao/article/details/25667831 -- 参考文章 http://kafka.apache.org/documentatio ...
- proto序列化
proto序列化和反序列化类 序列化是将我们的Protobuf类对象转换成字节数组的方法,网络底层我们从服务器获取到的是字节数组,反序列化是将字节转成proto类对象的方法 public class ...
- 在AD的环境下,更改计算机名导致TFS,无法连接解决办法
D:\vs2015>tf workspaces /collection:http://10.1.0.104:8080/tfs/dahua.adrms /updateComputerName:WI ...