博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用mapreduce 处理气象数据集
阅读量:5243 次
发布时间:2019-06-14

本文共 1243 字,大约阅读时间需要 4 分钟。

用mapreduce 处理气象数据集

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

  1. 气象数据集下载地址为:ftp://ftp.ncdc.noaa.gov/pub/data/noaa
  2. 按学号后三位下载不同年份月份的数据(例如201506110136号同学,就下载2013年以6开头的数据,看具体数据情况稍有变通)
  3. 解压数据集,并保存在文本文件中
  4. 对气象数据格式进行解析
  5. 编写map函数,reduce函数
  6. 将其权限作出相应修改
  7. 本机上测试运行代码
  8. 放到HDFS上运行
    1. 将之前爬取的文本文件上传到hdfs上
    2. 用Hadoop Streaming命令提交任务
  9. 查看运行结果
cd /usr/hadoopsodu mkdir qxcd /usr/hadoop/qxwget -D --accept-regex=REGEX -P data -r -c ftp://ftp.ncdc.noaa.gov/pub/data/noaa/2017/1*cd /usr/hadoop/qx/data/ftp.ncdc.noaa.gov/pub/data/noaa/2017sudo zcat 1*.gz >qxdata.txtcd /usr/hadoop/qx #!/usr/bin/env python import sys for i in sys.stdin: i = i.strip() d = i[15:23] t = i[87:92] print '%s\t%s' % (d,t) #!/usr/bin/env python from operator import itemggetter import sys current_word = None current_count = 0 word = None for i in sys.stdin: i = i.strip() word,count = i.split('\t', 1) try: count = int(count) except ValueError: continue if current_word == word: if current_count > count: 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) chmod a+x /usr/hadoop/qx/mapper.py chmod a+x /usr/hadoop/qx/reducer.py

转载于:https://www.cnblogs.com/verson/p/9016781.html

你可能感兴趣的文章
Upload Image to .NET Core 2.1 API
查看>>
python针对excel的读写操作-----openpyxl
查看>>
最后几本书,不珍藏了。
查看>>
Js时间处理
查看>>
Java项目xml相关配置
查看>>
按钮实现A标签新窗口打开(不用window.open)
查看>>
三维变换概述
查看>>
第三次作业
查看>>
Python的classmethod和staticmethod区别
查看>>
Ubuntu12.04 英文环境下使用ibus输入中文并自动启动输入法
查看>>
SpringMVC 拦截器HandlerInterceptor(一)
查看>>
mvc知识应用
查看>>
数据结构之排序三:插入排序
查看>>
Class.forName(),classloader.loadclass用法详解
查看>>
vue route 跳转
查看>>
Source Insight常用快捷键及注释快捷键设置
查看>>
基于tiny4412的Linux内核移植(支持device tree)(一)
查看>>
Device Tree Usage
查看>>
Python基础【day02】:字符编码(一)
查看>>
sample
查看>>