MapReduce-实践1
MR进阶实践1: -file 分发多个文件
【-file 适合场景】分发文件在本地,小文件
HADOOP_CMD="/usr/local/src/hadoop-1.2.1/bin/hadoop" STREAM_JAR_PATH="/usr/local/src/hadoop-1.2.1/contrib/streaming/hadoop-streaming-1.2.1.jar" INPUT_FILE_PATH="/02_filedistribute_input/The_Man_of_Property.txt" OUTPUT_PATH="/02_filedistribute_output" $HADOOP_CMD fs -rmr-skipTrash $OUTPUT_PATH # job1: use -file to distribute 3 local file to cluster # these 3 files will bestored in the same directory in each datanode $HADOOP_CMD jar$STREAM_JAR_PATH \-input $INPUT_FILE_PATH \-output $OUTPUT_PATH \-mapper "python map.py mapper_funcwhite_list" \-reducer "python red.pyreducer_func" \-file ./map.py \-file ./red.py \-file ./white_list
HADOOP_CMD="/usr/local/src/hadoop-1.2.1/bin/hadoop" STREAM_JAR_PATH="/usr/local/src/hadoop-1.2.1/contrib/streaming/hadoop-streaming-1.2.1.jar" INPUT_FILE_PATH="/02_filedistribute_input/The_Man_of_Property.txt" OUTPUT_PATH="/02_filedistribute_output" $HADOOP_CMD fs -rmr-skipTrash $OUTPUT_PATH # job1: use -file todistribute 3 files # these 3 files will be stored in the same directory in each datanode $HADOOP_CMD jar$STREAM_JAR_PATH \-input $INPUT_FILE_PATH \-output $OUTPUT_PATH \-mapper "python map.py mapper_funcwhite_list" \ -reducer "pythonred.py reducer_func" \ -jobconf “mapred.reduce.tasks=3” \ # deprecated option, not suggested-file ./map.py \-file ./red.py \-file ./white_list
HADOOP_CMD="/usr/local/src/hadoop-1.2.1/bin/hadoop" STREAM_JAR_PATH="/usr/local/src/hadoop-1.2.1/contrib/streaming/hadoop-streaming-1.2.1.jar" INPUT_FILE_PATH="/02_filedistribute_input/The_Man_of_Property.txt" OUTPUT_PATH="/02_filedistribute_output" $HADOOP_CMD fs -rmr-skipTrash $OUTPUT_PATH # job1: use -file todistribute 3 files # these 3 files will bestored in the same directory in each datanode $HADOOP_CMD jar$STREAM_JAR_PATH \-D mapred.reduce.tasks=3 \-input $INPUT_FILE_PATH \-output $OUTPUT_PATH \-mapper "python map.py mapper_funcwhite_list" \ -reducer "pythonred.py reducer_func" \-file ./map.py \-file ./red.py \-file ./white_list
MR进阶实践2: -cacheFile 将放在HFDS上的文件分发给计算节点
# hadoop fs -put ./white_list / # rm -rf ./white_list
HADOOP_CMD="/usr/local/src/hadoop-1.2.1/bin/hadoop" STREAM_JAR_PATH="/usr/local/src/hadoop-1.2.1/contrib/streaming/hadoop-streaming-1.2.1.jar" INPUT_FILE_PATH="/03_cachefiledistribute_input/The_Man_of_Property.txt" OUTPUT_PATH="/03_cachefiledistribute_output" $HADOOP_CMD fs -rmr-skipTrash $OUTPUT_PATH # job2: use -cacheFileto distribute HDFS file to compute node $HADOOP_CMD jar$STREAM_JAR_PATH \-input $INPUT_FILE_PATH \-output $OUTPUT_PATH \ -mapper "python map.py mapper_func WH" \#这里也一定要用WH符号链接,因为作业开始运行后创建的attemps目录中只能看到WH,和map.py符号链接位于同一目录 -reducer "pythonred.py reducer_func" \ -cacheFile “hdfs://master:9000/white_list#WH” #WH一定要,每个attemp中要生成该符号链接,指向Tasktracer/distcache中的whitelist-file ./map.py \-file ./red.py
MR进阶实践3: -cacheArchive 将位于HFDS上的压缩文件分发给计算节点
# hadoop fs –put ./w.tar.gz /# hadoop fs –ls / 查看是否已经上传成功
HADOOP_CMD="/usr/local/src/hadoop-1.2.1/bin/hadoop" STREAM_JAR_PATH="/usr/local/src/hadoop-1.2.1/contrib/streaming/hadoop-streaming-1.2.1.jar" INPUT_FILE_PATH="/03_cachefiledistribute_input/The_Man_of_Property.txt" OUTPUT_PATH="/03_cachefiledistribute_output" $HADOOP_CMD fs -rmr-skipTrash $OUTPUT_PATH # job3: use -cacheArchive to distribute HDFS compressed file to compute node $HADOOP_CMD jar$STREAM_JAR_PATH \-input $INPUT_FILE_PATH \-output $OUTPUT_PATH \ -mapper "python map.py mapper_func WLDIR" \#这里也一定要用WH.gz符号链接名,因为attemps中只能看到WH.gz -reducer "pythonred.py reducer_func" \ -cacheArchive “hdfs://master:9000/w.tar.gz#WLDIR”#WLDIR一定要,每个attemp中要生成该符号链接,指向Tasktracer/distcache中已经自动解压的文件夹,文件夹中有white_list_1,white_list_2-file ./map.py \-file ./red.py
转载于:https://www.cnblogs.com/shay-zhangjin/p/7739849.html
MapReduce-实践1相关推荐
- 简单的MapReduce实践
简单的MapReduce实践 文章目录 简单的MapReduce实践 操作环境 实现文件合并和去重操作 新建项目 新建Java程序 打包程序 运行程序 实现文件的倒排索引 第一步,Map 第二步,Co ...
- [MaxCompute MapReduce实践]通过简单瘦身,解决Dataworks 10M文件限制问题
用户在DataWorks上执行MapReduce作业的时候,文件大于10M的JAR和资源文件不能上传到Dataworks,导致无法使用调度去定期执行MapReduce作业. 解决方案: 第一步:大于1 ...
- 第五章-分布式并行编程框架MapReduce
第五章-分布式并行编程框架MapReduce 文章目录 第五章-分布式并行编程框架MapReduce MapReduce概述 分布式并行编程 MapReduce模型和函数 MapReduce体系结构 ...
- mapreduce编程规范_大数据之MapReduce详解
今天要讲的是MapReduce 目录 今天先总体说下MapReduce的相关知识,后续将会详细说明对应的shuffle.mr与yarn的联系.以及mr的join操作的等知识.以下内容全是个人学习后的见 ...
- 大数据之MapReduce详解(MR的运行机制及配合WordCount实例来说明运行机制)
目录 前言: 1.MapReduce原理 2.mapreduce实践(WordCount实例) 目录 今天先总体说下MapReduce的相关知识,后续将会详细说明对应的shuffle.mr与yarn的 ...
- 分布式计算模式:MapReduce
分布式计算模式:MapReduce 前言 什么是分而治之? 分治法的原理 抽象模型 MapReduce 工作原理 MapReduce 实践应用 知识扩展:Fork-Join 计算模式是什么意思呢? 总 ...
- 为什么Spark这么牛逼?
前言 本文隶属于专栏<1000个问题搞定大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见1000个问题搞定大数据技 ...
- 大数据入门学习之环境搭建
一:环境搭建:VM.CentOS7安装及网络配置 大数据入门首先需要搭建环境,接下来的三篇文章均是环境搭建部分的内容. 首先我们要安装虚拟机及linux系统 一.安装虚拟机VM 官网下载VM虚拟机:这 ...
- 分布式技术原理(七):分布式计算
目录 分布式计算 什么是分而治之? 分治法的原理 MapReduce 工作原理 MapReduce 实践应用 总结 分布式计算模式之Stream Stream 工作原理 分布式计算 Hadoop 这个 ...
- 大数据系列之数据仓库Hive命令使用及JDBC连接
Hive系列博文,持续更新~~~ 大数据系列之数据仓库Hive原理 大数据系列之数据仓库Hive安装 大数据系列之数据仓库Hive中分区Partition如何使用 大数据系列之数据仓库Hive命令使用 ...
最新文章
- Golang访问Redis初体验
- Java Web学习总结(22)——使用kaptcha生成验证码
- 下c语言按q退出_Linux vim编辑器怎么退出?第一次用都会问的问题
- 李沐《动手学深度学习》中文版PDF和视频免费领!!!
- Oracle 19c和20c新特性最全解密
- Android的第一个工程,Android Things:撸起袖子来创建第一个Things工程
- python抽取数据库元数据_0797-使用HDP或CDP的Atlas采集CDH6的元数据和血缘
- java左右连接sql写法,join用不了了 sql语句写法,不用join
- java编程思想读书笔记二(对象的创建)
- 利用numpy.gradient计算图像梯度
- 启用 Windows 审核模式(Audit Mode),以 Administrator 账户来设置电脑的开箱体验
- 研究生的生活原来是酱紫的……
- 三、Solr管理控制台(二)
- 解决电脑无法通过网线直连海康摄像机的问题
- cmd 批量命名,批量删除
- 谷歌浏览器打不开12306
- C# .NET想要另存一个项目,sln文件丢了怎么办
- ie6 sp1出现“重定向到不安全的连接”的解决放案
- 操作系统之 吸烟者问题
- rpa转java_RPA机器人流程自动化的简单介绍
热门文章
- QQ帐户的申请与登陆 (25 分)(map映射)
- hibernate教程笔记7
- Java常量不能二次赋值与常量不能修改值意思一样吗?
- printline在C语言中的作用,iswprint - [ C语言中文开发手册 ] - 在线原生手册 - php中文网...
- python setuptools 打包 发布
- C++ std::pair<,> 是什么怎么用
- kubectl apply -f weave.yaml之后dns没有启动起来 weave-net CrashLoopBackOff
- php float转int 元转分
- php字符串怎么判断是否相等,php判断两个字符串是否相等
- 正则式转化nfa 代码_从0到1打造正则表达式执行引擎(二)