码迷,mamicode.com
首页 > 其他好文 > 详细

理解MapReduce

时间:2018-05-10 23:39:20      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:文件   结果   split()   ftp   from   import   line   highlight   dfs   

1. 用Python编写WordCount程序并提交任务

A编写map函数,reduce函数

map函数

import sys
for line in sys.stdin:
     line=line.strip()
     words=line.split()
     for word in words:
          print (‘%s\t%s‘ % (word,1))

 

Reduce函数

from operator import itemgetter
import sys
current_word=None
current_count=0
word=None

for line in sys.stdin:
     line=line.strip()
     word,count=line.split(‘\t‘,1)
     try:
          count=int(count)
     except ValueError:
          continue
     if current_word==word:
          current_count+=count
     else:
          if current_word:
              print (‘%s\t%s‘ % (current_word,current_count))
          current_count=count
          current_word=word
if current_word==word:
     print (‘%s\t%s‘ % (current_word,current_count))

  B将其权限作出相应修改

chmod a+x /home/hadoop/wc/mapper.py
chmod a+x /home/hadoop/wc/reduce.py

  

2. 用mapreduce 处理气象数据集

编写程序求每日最高最低气温,区间最高最低气温

  1. 气象数据集下载地址为:ftp://ftp.ncdc.noaa.gov/pub/data/noaa
  2. 按学号后三位下载不同年份月份的数据

技术分享图片

  1. 解压数据集,并保存在文本文件中
  2. 技术分享图片
  3. 对气象数据格式进行解析
  4. 编写map函数,reduce函数

    技术分享图片

    技术分享图片

  5. 将其权限作出相应修改
  6. 本机上测试运行代码
  7. 放到HDFS上运行
    1. 将之前爬取的文本文件上传到hdfs上技术分享图片
    2. 用Hadoop Streaming命令提交任务技术分享图片
  8. 查看运行结果
  9. 技术分享图片

理解MapReduce

标签:文件   结果   split()   ftp   from   import   line   highlight   dfs   

原文地址:https://www.cnblogs.com/127li/p/9021921.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!