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 local file to cluster
- # these 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 files
- # these 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=” \ # 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 files
- # these files will bestored in the same directory in each datanode
- $HADOOP_CMD jar$STREAM_JAR_PATH \
- -D mapred.reduce.tasks= \
- -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

MapReduce-实践1的更多相关文章
- 大数据系列之分布式计算批处理引擎MapReduce实践-排序
清明刚过,该来学习点新的知识点了. 上次说到关于MapReduce对于文本中词频的统计使用WordCount.如果还有同学不熟悉的可以参考博文大数据系列之分布式计算批处理引擎MapReduce实践. ...
- 大数据系列之分布式计算批处理引擎MapReduce实践
关于MR的工作原理不做过多叙述,本文将对MapReduce的实例WordCount(单词计数程序)做实践,从而理解MapReduce的工作机制. WordCount: 1.应用场景,在大量文件中存储了 ...
- 大数据系列之数据仓库Hive命令使用及JDBC连接
Hive系列博文,持续更新~~~ 大数据系列之数据仓库Hive原理 大数据系列之数据仓库Hive安装 大数据系列之数据仓库Hive中分区Partition如何使用 大数据系列之数据仓库Hive命令使用 ...
- Hadoop MapReduce开发最佳实践(上篇)
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- 化繁为简(三)—探索Mapreduce简要原理与实践
目录-探索mapreduce 1.Mapreduce的模型简介与特性?Yarn的作用? 2.mapreduce的工作原理是怎样的? 3.配置Yarn与Mapreduce.演示Mapreduce例子程序 ...
- MapReduce 原理与 Python 实践
MapReduce 原理与 Python 实践 1. MapReduce 原理 以下是个人在MongoDB和Redis实际应用中总结的Map-Reduce的理解 Hadoop 的 MapReduce ...
- 【原创 Hadoop&Spark 动手实践 3】Hadoop2.7.3 MapReduce理论与动手实践
开始聊MapReduce,MapReduce是Hadoop的计算框架,我学Hadoop是从Hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能 ...
- Hadoop化繁为简(三)—探索Mapreduce简要原理与实践
目录-探索mapreduce 1.Mapreduce的模型简介与特性?Yarn的作用? 2.mapreduce的工作原理是怎样的? 3.配置Yarn与Mapreduce.演示Mapreduce例子程序 ...
- [转] Hadoop MapReduce开发最佳实践(上篇)
前言 本文是Hadoop最佳实践系列第二篇,上一篇为<Hadoop管理员的十个最佳实践>. MapRuduce开发对于大多数程序员都会觉得略显复杂,运行一个WordCount(Hadoop ...
- Mapreduce简要原理与实践
探索Mapreduce简要原理与实践 目录-探索mapreduce 1.Mapreduce的模型简介与特性?Yarn的作用? 2.mapreduce的工作原理是怎样的? 3.配置Yarn与Mapred ...
随机推荐
- 201521123074 《Java程序设计》第14周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 Q1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现 ...
- 201521123019 《java程序设计》 第13周学习总结
1. 本章学习总结 2. 书面作业 Q1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 访问cec ...
- ThreadLocal原理及使用示例
简介:本文已一个简要的代码示例介绍ThreadLocal类的基本使用方式,在此基础上结合图片阐述它的内部工作原理. 欢迎探讨,如有错误敬请指正 如需转载,请注明出处 http://www.cnblog ...
- Activiti-05-.Deployment and MN 2.0 Introduction
Business archives (业务归档) 为了部署流程,业务档案必须被封装,业务档案是activiti 引擎部署的单元,它相当于zip文件,它包含BPMN 2.0 processes, tas ...
- Java 异常机制
Java 异常机制 什么是异常 异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程 为什么要有异常 什么出错了 哪里出错了 ...
- JavaScript基礎知識
JavaScript基礎知識 1.標籤組使用 <script charset='utf-8' //設置字元集 defet //使腳本延遲到文檔解析完成,Browser已忽略 language=' ...
- javascript插入before(),after()新DOM方法
随着web的技术突飞猛进的发展.HTML5 ES6等新技术的发展,与此同时DOM等标准也在悄悄的进步,各大浏览器也在悄悄的发展适配新的属性和方法,今天我们来看看Javascript新的DOM的方法 二 ...
- Linux脚本入门(1)
1. Linux 脚本编写基础1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例 ...
- Python中map()函数浅析
MapReduce的设计灵感来自于函数式编程,这里不打算提MapReduce,就拿python中的map()函数来学习一下. 文档中的介绍在这里: map(function, iterable, .. ...
- Java面向对象 GUI 补录
Java面向对象 GUI 补录 知识概要:(1)GUI和CLI (2)AWT和SWING (3)AWT继承关系图 ...