今天学习过程和小结
使用伪分布式进行大数据计算,计算气象站记录气温的平均值
weather
map()方法,key值数据多所以用LongWritable,value值是string类型,string类型包装类是Text。输出value是气温也是Text,key是IntWritable.接下来重写map方法。//获取气象站编号--文件名,从5到10.获取其气温值,从13到19,去空格trim()方法。
reduce()方法,第一步继承int sum=0相同key进行合并在同一个reduce下。int count=0;
sum+=val.get();count++;
Job()方法,继承类,main方法,配置文件,连接namenode
气温计算过程:
气温计算结果:
怎么显示?读出来放进数据库中。读一行放一行。怎么读?用HDFS读写操作读取文件。
读取文件中的数据:
读取之后存入数据库中
建立数据库,ENGINE=INNODB数据引擎,default charset=utf8事物,原子操作,要么都执行要么都不执行。保证数据的一致性。分布式数据库消息中间件回滚。不能用原子操作。因为数据分布在不同的数据库就不是同一个数据源。
insert封装数据输入到数据库中之后进行前端显示。
显示的时候用springMVC框架
框架配置过程:
用到springMVC,servlet用户只能通过URL提交到servlet,service(do Get.doPost)通过转发或重定向。但什么时候用,查询以后用转发。增删改之后用重定向。用转发的话会进行重复操作。查询之后吧数据放入作用域。servlet用类@servlet配地址。用户通过URL到核心拦截器DispatchServlet.拦截所有的请求解析URL。handlerMapping.key与value。URL和handler对象1.通过URL找handler。handlerMapping3.将handler交给handleradaper找handlerAdaper。4.将返回值交还给DispatchServlet.
在web.xml中配置
第三个包,jstl1.2,4.16contect,mvc
遇到问题汇总
1.在进行气温计算的时候,要通过KEY来确定数据,但一开始从文件中数数据列的时候没有数对列数。而且数据前可能有空格也没有考虑到,要用trim()去空格
2.Setting property 'source' to 'org.eclipse.jst.jee.server:你的站点名' did not find a matching property。在Tomcat的设置上面出了错。
3.SpringMVC的原理有所了解但是自己搭建springMVC的环境还比较生疏。
4.在用HDFS进行文件操作的时候要注意文件的路径,对于namenote和datanote
学习技能思维导图