技术文摘您现在的位置:主页 > 技术文摘 >

分析MapReduce程序

发布日期:2017-10-25 15:22

一、写一个MapReduce程序例子

1.1、数据准备

  准备要处理的数据(假定数据已经存放在hdfs的/data目录下)
    $> hdfs dfs -ls /data
  看到测试数据目录。天气数据目录/data/weather,专利数据目录/data/patent。
  若没有,则自行将数据上传到上述目录基本步骤如下:
    $> hdfs dfs -mkdir /data
    $> hdfs dfs -mkdir /data/weather
    $> hdfs dfs -put ~/weather/999999-99999-1992 /data/weather

  天气数据格式:
    每行一条记录,记录了年份,气象站编号,温度及数据质量
    014399999999999 1992 012912004+11900+163700FM-13+9999KGWU

    V0200601N00871220001CN0100001N9+026+02201101531ADDAG12001AY101061AY201061GF103991031021004501999999MD1110081

    +9999MW1151SA1+2789UA1M030159999UG1080250809REMSYN02922233 00278 20303 308// 40805

  数据分析: 

    (0, 15)气象站编号
    (15,19)年份
    (87, 92) 检查到的温度,如果为+9999则表示没有检测到温度
    (92, 93)温度数据质量,为【01459】表示该温度是合理温度

1.2、需求分析

  1)需求 

    以/data/weather/999999-99999-1992数据,请计算出每个气象站检测到的最高气温(这个程序也可以计算每年的最高温度)

  2)分析

1.3、编写一个解析类解析天气数据

  WeatherRecordParser

 WeatherRecordParser

1.4、编写一个MapReduce程序求1992I年的最高温度

  MaxTemperatureByYear_0010 

 MaxTemperatureByYear_0010

1.5、使用Maven打包Jar包上传到Hadoop客户端的Linux服务器中

  1)执行测试 

   

  2)查询作业进度

    

     我们可以通过Yarn集群的Web控制页面:http://ip:8088去查看作业的进度(ip是resourcemanager所在的ip)西安尚是网络科技有限公司

    

  3)作业执行完成

    

    我们可以去查看执行文件:发现1992年的最高温度是605

    
本文由西安Java培训(www.shun580.com)整理编辑