zoukankan      html  css  js  c++  java
  • 理解MapReduce

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

    程序

    WordCount

    输入

    一个包含大量单词的文本文件

    输出

    文件中每个单词及其出现次数(频数),并按照单词字母顺序排序,每个单词和其频数占一行,单词和频数之间有间隔

    A.编写map函数,reduce函数B.将其权限作出相应修改

    # map函数
    import sys
    for i in stdin:
    i = i.strip()
    words = i.split()
    for word in words:
    print '%s %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('	', 1)
        try:
            count = int(count)
        except ValueError: 
            continue
        if current_word == word:
            current_count += count
        else:
            if current_word:
                print "%s	%s" % (current_word, current_count)
            current_count = count
            current_word = word
     
    if word == current_word: 
        print "%s	%s" % (current_word, current_count)
    chmod a+x /home/hadoop/wc/mapper.py
    chmod a+x /home/hadoop/wc/reducer.py

    C.本机上测试运行代码

      D.放到HDFS上运行查看运行结果

           a.将之前爬取的文本文件上传到hdfs上

           b.用Hadoop Streaming命令提交任务

                E.查看运行结果

    2. 用mapreduce 处理气象数据集

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

           A.气象数据集下载地址为:ftp://ftp.ncdc.noaa.gov/pub/data/noaa

          B.按学号后三位下载不同年份月份的数据(例如201506110136号同学,就下载2013年以6开头的数据,看具体数据情况稍有变通)

          C.解压数据集,并保存在文本文件中

          D.对气象数据格式进行解析

          E.编写map函数,reduce函数

          F.将其权限作出相应修改

          G.本机上测试运行代码

          H.放到HDFS上运行查看运行结果

                a.将之前爬取的文本文件上传到hdfs上

                b.用Hadoop Streaming命令提交任务

  • 相关阅读:
    Step by step Dynamics CRM 2013安装
    SQL Server 2012 Managed Service Account
    Step by step SQL Server 2012的安装
    Step by step 活动目录中添加一个子域
    Step by step 如何创建一个新森林
    向活动目录中添加一个子域
    活动目录的信任关系
    RAID 概述
    DNS 正向查找与反向查找
    Microsoft Dynamics CRM 2013 and 2011 Update Rollups and Service Packs
  • 原文地址:https://www.cnblogs.com/131li/p/9021604.html
Copyright © 2011-2022 走看看