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

程序

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将其权限作出相应修改

sudo chmod 777 mapper.py
sudo chmod 777 reducter.py

C本机上测试运行代码

echo "Hello World, Bye World" | ./mapper.py
echo "Hello World, Bye World" | ./mapper.py | sort -k1,1 | ./reducter.py

D放到HDFS上运行

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

用Hadoop Streaming命令提交任务

查看运行结果

2. 用mapreduce 处理气象数据集

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

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

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

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

cd /usr/hadoop
sodu mkdir qx
cd /usr/hadoop/qx

wget -D --accept-regex=REGEX -P data -r -c ftp://ftp.ncdc.noaa.gov/pub/data/noaa/2012/8*

cd /usr/hadoop/qx/data/ftp.ncdc.noaa.gov/pub/data/noaa/2014
sudo zcat 1*.gz >qxdata.txt
cd /usr/hadoop/qx

B对气象数据格式进行解析

C编写map函数,reduce函数

map函数:

import sys
for line in sys.stdin:
    line=line.strip()
    d=line[15:23]
    t=line[87:92]
    print'%s\t%s' % (d,t)

reduce函数:

from operator import itemgetter
import sys
c_w=None
c_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 c_w==word:
        if c_count<count:
            c_count=count
    else:
        if c_w:
            print '%s\t%s' % (c_w,c_count)
        c_w=word
        c_count=count
if c_w==word:
    print '%s\t%s' % (c_w,c_count)

D将其权限作出相应修改

E本机上测试运行代码

F放到HDFS上运行

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

  2.用Hadoop Streaming命令提交任务

  3.查看运行结果

MapReduce处理气象数据的更多相关文章

  1. Hadoop MapReduce编程 API入门系列之挖掘气象数据版本3(九)

    不多说,直接上干货! 下面,是版本1. Hadoop MapReduce编程 API入门系列之挖掘气象数据版本1(一) 下面是版本2. Hadoop MapReduce编程 API入门系列之挖掘气象数 ...

  2. Hadoop MapReduce编程 API入门系列之挖掘气象数据版本2(十)

    下面,是版本1. Hadoop MapReduce编程 API入门系列之挖掘气象数据版本1(一) 这篇博文,包括了,实际生产开发非常重要的,单元测试和调试代码.这里不多赘述,直接送上代码. MRUni ...

  3. Hadoop第5周练习—MapReduce计算气象温度等例子

    :对云计算的看法 内容 :使用MapReduce求每年最低温度 内容 :求温度平均值能使用combiner吗? 内容 :使用Hadoop流求最高温度(awk脚本) 内容 :使用Hadoop流求最高温度 ...

  4. 用mapreduce 处理气象数据集

    用mapreduce 处理气象数据集 编写程序求每日最高最低气温,区间最高最低气温 气象数据集下载地址为:ftp://ftp.ncdc.noaa.gov/pub/data/noaa 按学号后三位下载不 ...

  5. hadoop实验:求气象数据的最低温度

    1.下载部分数据.由于实验就仅仅下载2003年的部分气象数据 2.通过zcat *gz > sample.txt命令解压重定向 [hadoop@Master test_data]$ zcat * ...

  6. Hadoop—MapReduce计算气象温度

    Hadoop-MapReduce计算气象温度 1 运行环境说明 1.1 硬软件环境 主机操作系统:Mac OS 64 bit ,8G内存 虚拟软件:Parallers Desktop12 虚拟机操作系 ...

  7. 附录C 准备NCDC气象数据(加解释)

    附录C 准备NCDC气象数据 这里首先简要介绍如何准备原始气象数据文件,以便我们能用Hadoop对它们进行分析.如果打算得到一份数据副本供Hadoop处理,可按照本书配套网站(网址为http://ww ...

  8. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  9. pyhton读取json格式的气象数据

    原文关于读取pm25.in气象数据的pyhton方法,以及浅析python json的应用 以pm25.in网站数据为例. 1.方法介绍 首先感谢pm25.in提供了优质的空气污染数据,为他们的辛勤劳 ...

随机推荐

  1. 一、变量.二、过滤器(filter).三、标签(tag).四、条件分支tag.五、迭代器tag.六、自定义过滤器与标签.七、全系统过滤器(了解)

    一.变量 ''' 1.视图函数可以通过两种方式将变量传递给模板页面 -- render(request, 'test_page.html', {'变量key1': '变量值1', ..., '变量ke ...

  2. vue学习【第三篇】:vue之node.js的简单介绍

    什么是node.js 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 安装node.js node.js的特性 - 非阻塞IO模型 - 时 ...

  3. MySql 语句收集

    目录 =与:=区别 序列号: 分组: 子查询分组: 同数据库表数据迁移 存储过程 参考: =与:=区别 = 只有在set和update时才是和:=一样,赋值的作用,其它都是等于的作用.鉴于此,用变量实 ...

  4. 后缀字符串|计蒜客2019蓝桥杯省赛 B 组模拟赛(一)

    样例输入: 3 ba a aba 样例输出: 2 3 1 思路一:暴力,只能过50%数据,枚举每一个字符串,内层枚举其他字符串判断是否以这个字符串为后缀 思路二:哈希表,存储每一个后缀的数目,stri ...

  5. Shiro源码分析

    1.入口类:AbstractAuthenticator 用户输入的登录信息经过其authenticate方法: public final AuthenticationInfo authenticate ...

  6. [蓝桥] 算法训练 P0505

    时间限制:1.0s 内存限制:256.0MB 一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积.阶乘的增长速度非常快,例如,13!就已经比较大了,已经无法存放在一个整型变量中:而35!就更 ...

  7. Hive安装部署及简单测试 网页《一》

    1.首先关闭机器上之前配置的分布式Hadoop 命令: (在hadoop的安装目录中)  sbin/stop-dfs.sh              关闭: yarn   命令:  sbin/stop ...

  8. SAP月末结账年结流程

    SAP月末结账年结流程 SAP月末结账操作指南 流程描述:FI期末结帐流程包括应收帐款.应付帐款.固定资产.管理会计结帐.总帐结帐等一系列结帐过程,对于年结增加了余额结转及固定资产年度改变等动作,通过 ...

  9. 51nod 1215 数组的宽度(单调栈)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1215 题意: 思路: 计算出以第i个数为最大值的区间范围,l_max[i ...

  10. latex建立参考文献的超链接

    在Latex生成的pdf文档中建立超链接(如从正文到参考文献,从目录到相应内容,从页码编号到实际页面等),有利于读者快速定位当前阅读的信息. 如何在生成的pdf文件中包含超链接呢?需要注意一下两点: ...