2014年整个一年的感觉是太忙碌了,忙碌着为产品做功能的设计,忙着做研发计划,忙着做功能开发,忙着去客户现场调试上线。
各种忙碌中,我度过了2014年。
这一年尝试了哪些新技术
记得2013年底的时候,我们的产品推出了分析的功能,那个时候,写了一个python的http-server,用来做分析程序的外壳。然后每一个分析程序都是使用shell写的。
这一年终于看到单机版的性能太低下了。并且shell想要写出并行的程序基本不可能。果断将程序换成了map-reduce。这个是这一年付出心血的最多的地方了。
具体的新技术有:
cdh4向cdh5的切换
为了切换cdh的版本,不得不升级数据,而之前有的hbase集群是用rpm的方式安装的,那么需要将数据先导出,再导入。说到导出,今年可能遇到了最大的一个失败就是导出中没有设置batch的大小,导致导出失败,从而丢失了数据。
其他的cdh4向cdh5的切换的一个很重要原因是原有使用的hbase版本中对于memstore中的数据如果没有达到大小限制,不会刷写到hfile中
当然还有发现的hbase的问题是在0.98.1中解决的。因此果断切换了。
map-reduce的使用
从一无所知,到基本明白map-reduce的接口原理,再到明白了shuffle sort call-application
编写了很多map-reduce的小程序,基本上都是python写的。因为使用的streaming。当然使用python的最大好处就是现场可以更改,对调试真的是帮助太大了。
处理到了千亿级的数据,当然时间上一个算法计算完成耗费了2天左右的时间。
同时也计算出了600亿的结果数据,看起来挺不错。
spark的使用
在这一年也看到了很多并行计算的架构,map-reduce yarn spark storm
因为一直没找到yarn的streaming的工具,因此一直没有做切换
终于在快到年底的时候使用sprak做了一个程序,还是使用的python效果不错,明年继续努力。
这一年自己做了什么东西
分析框架的搭建
使用数据库(oracle)来存储原始数据,当然也可以直接存储到hdfs上。
然后使用python搭建了一个http_server,使用rabbitmq做任务消息的队列 (当初设计的时候还想过调度啥的,现在根本没想法)
使用shell来调用streaming程序来做并行运算
计算结果也是几种: 可以直接入库--出bcp,入oracle。 或者直接入其他存储。
按照公司的规则出了几个产品的新版本
公司小产品比较多,出版本也比较快,一共加起来能有10个左右吧。
我们的基本流程吧: 设计版本功能--制定版本计划--开发+自测--拉出分支,进行测试--测试完成,打tag,发布版本。
周而复始。没有尝试同时多分支开发,人力和智力都不够啊。
伤心的看到带出的新人离开了
好不容易培养出来的新人,由于各种原因,离开了公司。
之前看到学校的老师一辈子了也就带出来了4-5个博士,20个硕士,现在看来,每带一个人都是要花费巨大心血的。
向以前藐视过得老师们道个歉吧。
这一年最大的感触
理想主义者活着真不容易
看着老罗饿锤子手机,真的不容易,想想身边一个个离开的同事。想将工作生活合理的安排好,真的很难。
当然单单是在工作中让老板们满意就已经很难了。
自己的激情确实在渐渐减少
以前对于问题的专研,真的是能够沉下心来,细细的去寻找真谛。现在越来越是为了工作而工作了
工作之外的研究也越来越少了。
自己的懒惰导致现在体重也越来越难以,,,,,,了
明年会怎样
还有几天才到明年,不敢想太多,但是只要自己积极,主动,热情的去面对未来,相信会越来越好的。