基于Hadoop生态系统的大数据解决方案TP07_第1页
基于Hadoop生态系统的大数据解决方案TP07_第2页
基于Hadoop生态系统的大数据解决方案TP07_第3页
基于Hadoop生态系统的大数据解决方案TP07_第4页
基于Hadoop生态系统的大数据解决方案TP07_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章天气查询系统

项目案例预习检查HBase适合实时查询吗?为什么?MapReduce适合实时查询吗?为什么?为什么在Mapper或Reducer类中定义的System.out.println()语句不会在客户端中输出?请解释配置项“io.serializations”的作用集中测试2/33训练的技能点会使用HDFSFS命令能够进行MapReduce编程能够让Mapper输出到HBase能够让Reducer输出到HBase会使用HBaseJavaAPI进行内容查询能够使用HBase过滤器进行内容查询能够部署作业驱动客户端3/33系统概述任务描述2-1天气查询系统天气数据导入查询某一天的天气数据查询每年的最高气温查询每年的最低气温查询每年的平均气温查询每年下雨天数预测明天气温4/33任务描述2-2用例图演示案例:天气查询系统5/33问题分析1:整体开发思路系统开发步骤明确需求准备气象数据创建项目编码顺序测试作业驱动主程序查询某天天气数据查询每年最高(最低、平均)气温查询每年的下雨天数预测明天的气温231546/33问题分析2:界面交互设计界面交互设计的原则易用性原则操作方式自然、易理解友好性原则输入错误或系统发生错误有及时的提示7/33问题分析3:技术分析技术实现中需要考虑的问题原始数据格式数据存储设计导入数据工具选择离线计算:MapReduce实时查询:HBase统计年最高、最低、平均气温年下雨天数天气预测8/33难点分析:理解业务统计年最高气温、最低气温、平均气温map阶段:依次读取每一条气象数据,分别输出MAX、MIN、TEMP值,key应为年份reduce阶段:分别求出最大值、最小值、平均值统计一年中下雨天数统计记录字段FRSHTT,如果R为1则计数一次天气预测功能根据历史气象数据,统计不同年的同一日期的TEMP、MAX、MIN,再分别求得平均数模拟预测功能9/33开发计划准备数据

[30分钟]用例1:查询某一天的天气数据 [30分钟]用例2:查询每年的最高气温 [50分钟]用例3:查询每年的最低气温 [25分钟]用例4:查询每年的平均气温 [25分钟]用例5:查询每年下雨的天数 [30分钟]用例6:预测明天的气温 [50分钟]10/33准备数据使用Mapper逐条导入解析气象数据格式使用TableOutputFormat格式输出输出键:“STN+YEARMODA”输出值:解析后的Put实例Configurationconf.setStrings("io.serializations",conf.get("io.serializations"), MutationSerialization.class.getName(), ResultSerialization.class.getName(), KeyValueSerialization.class.getName());使得MapTask可以对TableOutputFormat的输出键/值类型进行序列化演示案例:导入数据完成时间:30分钟11/33用例1:查询某一天的天气数据2-1需求说明用户选择功能【1】,系统提示用户输入日期格式根据输入日期返回天气数据方法一使用Get对象查询行键“STN+YEARMODA”方法二使用Scan对象对表扫描为Scan添加过渡器SingleColumnValueFilter指导讲解需求说明分析完成时间:30分钟scan.setFilter(newSingleColumnValueFilter(Bytes.toBytes(“info”),

Bytes.toBytes(“YEARMODA”),

CompareOp.EQUAL,Bytes.toBytes(“20080808”)));12/33启动后是否正确显示菜单输入“0”,程序关闭输入除“0”以外的操作编号,是否继续显示菜单输入“1”并输入正确日期,结果是否达到预期要求互相验证完成的程序功能小组长检查本组完成情况功能测试用例1:查询某一天的天气数据2-213/33共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解14/33用例2:查询每年的最高气温2-1需求说明用户选择功能【2】,作业被提交到Hadoop,并将统计结果输出到“results”表的列“statistic:max”作业结束后,查询表并输出实现Mappermap():获得每一天的最高气温,作为本年度最高气温的候选项实现Reducerreduce():从本年度每天的最高温度中选择最大值,作为本年度最高气温输出指导讲解需求说明完成时间:50分钟分析15/33输入“2”,是否正确显示结果要求互相验证完成的程序功能小组长检查本组完成情况功能测试用例2:查询每年的最高气温2-216/33共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解17/33用例3:查询每年的最低气温2-1需求说明用户选择功能【3】,作业被提交到Hadoop,并将统计结果输出到“results”表的列“statistic:min”作业结束后,查询表并输出实现Mappermap():获得每一天的最高气温,作为本年度最低气温的候选项实现Reducerreduce():从本年度每天的最低温度中选择最小值,作为本年度最低气温输出讲解需求说明完成时间:25分钟练习提示18/33输入“3”,是否正确显示结果要求互相验证完成的程序功能小组长检查本组完成情况功能测试用例3:查询每年的最低气温2-219/33共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解20/33用例4:查询每年的平均气温2-1需求说明用户选择功能【4】,作业被提交到Hadoop,并将统计结果输出到“results”表的列“statistic:avg”作业结束后,查询表并输出实现Mappermap():获得每一天的平均气温,作为本年度平均气温的候选项实现Reducerreduce():从本年度每天的平均温度中再求平均值,作为本年度平均气温输出讲解需求说明完成时间:25分钟练习提示21/33输入“4”,是否正确显示结果要求互相验证完成的程序功能小组长检查本组完成情况功能测试用例4:查询每年的平均气温2-222/33共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解23/33用例5:查询每年的下雨天数2-1需求说明用户选择功能【5】,作业被提交到Hadoop,并将统计结果输出到“results”表的列“statistic:rain”作业结束后,查询表并输出实现Mappermap():输出的前提条件是该行的“FRSHTT”中第1位(由0开始)为1实现Reducerreduce():对输入key的所有值求和,并按“results”表的行键key输出该求和值到列“statistic:rain”讲解需求说明完成时间:30分钟练习提示24/33输入“5”,是否正确显示结果要求互相验证完成的程序功能小组长检查本组完成情况功能测试用例5:查询每年的下雨天数2-225/33共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解26/33用例6:预测明天的气温2-1需求说明用户选择功能【6】,作业被提交到Hadoop,并将统计结果输出到“forecast”表的列族“item”作业结束后,查询表并输出列族“item”所有列实现Mappermap():获得每年“明天”天气数据,以MapWritable封装后输出输出键/值:<STN+明天日期,{TEMP,MAX,MIN}>实现Reducerreduce():统计所有当天的TEMP、MAX、MIN,并分别求出平均值指导讲解需求说明分析完成时间:50分钟27/33输入“6”,是否正确显示结果要求互相验证完成的程序功能小组长检查本组完成情况功能测试用例6:预测明天的气温2-228/33共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解29/33项目总结讲解要点完成情况、技能总结、经验分享、项目收获表达要求清晰流畅、有条理、重点突出作品展示30/33技能总结技术实现灵活利用Hadoop提供的MapReduce编程模型Mapper在多节点间并行、逐行分解数据原始记录Reducer合并

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论