**********************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个文件......好吧,加班!
------另:
应要求,今天需要写一下本周的进度目标:完成空气质量分析模块中的统计查询和关联分析模块,即后端算法核心。
日志写的有点乱,明天改进