MapReduce在EMR上运行

一 MapReduce原理

1 主程序及输入输出位置

2 输入输出格式

#输入格式示例
2015-05-13|20:24:47 @Aero_vs_Aaron some times don't be fake can get to know each other

#输出格式 
#时间段 推文数量 无效字段 正面得分 反面得分
2015-05-14|10:00 36 1   40.0 40.0
2015-05-14|9:00 29 1    33.0 37.0
totalSentiment 100 1    127.0 121.0

3 Map

Map做了以下工作:

  • 对于每一行输入,确定推文的时间段并对推文内容进行预处理
  • 对单个推文计算正面分数和反面分数
  • 输出正面分数和反面分数 key为时间段

4 Reduce

Reduce做了以下工作:

  • 计算正面分数之和和反面分数之和
  • 输出

二 集群开启

设置1:主要是设置终止保护和日志位置;

《MapReduce在EMR上运行》 Config-1

设置2:设置Hadoop版本,这里是AMAZON的2.2.0

《MapReduce在EMR上运行》 Config-2

设置3:设置EC2实例数量和配置,设置EC2访问键值对,设置IAM角色

《MapReduce在EMR上运行》 Config-3

设置4:添加新步骤,各种类型Map/Reduce任务,不过无需这里添加

《MapReduce在EMR上运行》 Config-4

集群开启成功

《MapReduce在EMR上运行》 cluster create success

三 MapReduce在EMR上执行

只要执行MapRManager.runJob()方法即可

这里的集群ID需要复制到MapRManager.java中JobFlowID参数中

《MapReduce在EMR上运行》 Copy cluster ID
《MapReduce在EMR上运行》 Running

步骤执行完毕一段时间会在S3中产生四个日志文件,方便进行调试

《MapReduce在EMR上运行》 Steps
《MapReduce在EMR上运行》 Jobs
《MapReduce在EMR上运行》 Tasks
《MapReduce在EMR上运行》 Logs-SysLog

    原文作者:一只小青鸟
    原文地址: https://www.jianshu.com/p/67210e69fbf2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞