毕设开发日志2017-10-23

**********************2017-10-03----2017-10-07**********************
更改了hadoop以及hbase的配置文件,更改了主机名为foxweather
拍摄快照
完成了数据库设计
完成了ConstantsHBase类,对表结构进行了硬编码
完成了HBaseDB类,可以实现与hbase的连接
完成了InitHBase类,可以通过API创建表结构
完成了DBConfig类,可以通过配置文件配置数据库URL
完成了前端页面的整合(以前做过的,未对js进行精简)
完成了对城市列表的爬取。
明天见!
**********************2017-10-08*************************************
爬取数据成功!时间跨度为2014年5月到2017年9月。

分月保存,约计16335800条数据。
开始准备编写TO类和POJO类,为loader类做准备。

************************************2017-10-21************************************
完成了TO和POJO类的编写
完成了文件数据读取工具类的编写,可以识别文件中的不规则数据并转成对象,再完成了dao层的编写之后即可导入数据。明天准备写dao层,并通过自动化执行,完成四十多个文件的数据导入。
今天暴露出来一个问题就是对集合,还有class.forname的类不熟悉 对集合和泛型不熟悉

************************************2017-10-22************************************
数据库连接工具类编写完成,一些数据的插入操作也写在了这个类里。
dao层先编写weatherDao类的编写,在该类中调用工具类中的方法。
数据导入出现问题,是cityTO的id问题,尝试编写使用城市代码来做cityTO类的id,但是这样做需要再编写一个对excel文件的loader类。

************************************2017-10-23************************************

昨天那个问题,今天解决了。在为weatherTO的cityTO成员赋值时,调用一个通过城市名返回cityTO对象的方法来赋值。该方法通过双文件读取来组装一个cityTO对象。

编写完成之后发现同时读写多个文件速度太慢了; 再次改进。

决定在加载weather数据之前先搞city数据,分三步。

第一步:通过读取任意一个weather数据文件获取数据源中的城市名列表,去重后保存在set集合里

第二步:由城市名列表set循环调用之前编写的城市名返回cityTO对象的方法,输出每个cityTO对象的json到文件中。

第三步:先利用上一步生成的文件,调用to类中的构造函数,生成一个保存了所有城市信息的set,然后在加载weather数据时在set里查city数据并赋值。

这样的话,为weatherTO的cityTO成员赋值时,可以直接在程序(内存)里查数据,而不是双文件读取,这样快很多。

大致估计了一下,每个文件数据导入需要2小时,40个文件......好吧,加班!

------另:

应要求,今天需要写一下本周的进度目标:完成空气质量分析模块中的统计查询和关联分析模块,即后端算法核心。

日志写的有点乱,明天改进

posted @ 2017-10-23 21:45  张晓晨  阅读(156)  评论(0编辑  收藏  举报

作者: 张晓晨

出处: https://www.cnblogs.com/420Rock/>

关于作者:专注java与大数据领域,请多多赐教!

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(zhangxiaochen643@sina.com)咨询.