1. 我就不能闲着吗?为什么总想着解决问题
1.1 事情由来——农普数据处理的难题
用R做数据处理是很高的,可以灵活对数据进行拼接、变型等操作, 再做汇总就方便很多,但R也有个缺点,必须将数据读入内存, 我们的办公电脑只有4G内存,在系统用掉一些,就没有多少留给R了, 10列左右的数据,百万行量级是极限了, 而农普H表本身已有800多万行,而且列数只有上百, 因此无法在R中处理,更何况拼接分组后可能在此基础上再扩大100倍。
1.2 调查过程中的方法
在农普调查审核阶段,尚有折中方法克服上述难题, 从数据库读取数据时先用sql进行汇总,汇总到村级, 这样能把数据行数缩小到万行量级,而且一般仅选择当时需要的指标, 能保证即使做数据变型,数据行数基本能控制在千万行以内。
1.3 农普资料开发的新难题
上述处理方法在农普资料开发中也不管用了, 首先农普资料开发囊括了大部指标,没有了选择指标缩小列数的可能, 其次,资料中按村分组可能通过sql先行汇总的方式缩小数据行数, 其他按户、人属性分组的没有办法预汇总且显著缩小数据行数。
1.4 新处理方法对农普资料开发的必要性
普查资料开发是一种规律性很强的数据处理方式, 可以总结为按少数几种预订的分组汇总所有指标, 汇总的方式也只有求和和计算,汇总后再计算百分比。 而现有的数据处理系统,无论是农普国家平台,还是现省平台, 在数据汇总方面都是强调个性化,以尽可能的满足多样性的汇总要求, 代价就是牺牲了效率,无论制表还是汇总数据都很慢。 而这种规则性很强的普查资料开发,正是R、Python等语言的强项, 但必须得解决大数据难题。
2. 新契机
2.1 农村司的解决方案
上饶国家资料开发会中,农村司拿出了自己的解决方案, MicroSoft Machine Learning Server, 万国强处长看来是有个大计划,1年前在咸宁时候培训了R,原来是有的放矢。 MMLS是微软的大数据处理平台,R和Python都可用,可部署到集群, 节点为三种类型,主、计算和web,4台组网是起步,当然单季运行也没问题, 我们培训时,笔记本电脑都能运行单机平台。
2.2 另辟蹊径
传统中,微软并不注重大数据,当Hadoop,BigTable横空出世时,微软还不直到在干嘛, 既然如此,我为何不直接从更加大众的大数据平台入手呢,于是Spark就这么进入了我的视野。 在Spark的论文中,性能是Hadoop的100倍,虽然只进行了大家都能想到的优化, 用RDD代替了HDFS(这么说也许并不准确),在数据处理的过程中不用每次的读写HDFS, 而是更多在内存中处理,如此就快了100倍,Spark如日中天,我就这么选了Spark。
2.3 准备工作
和处理汇报后,并与数管中心褚英国主任商量后,征得了一个服务器1年的使用权, OA提交申请,服务器到位,虽然只有一台,但可以开工了,欧耶!!
LS0tDQp0aXRsZTogIuaIkeWwseaYr+i/meS5iOaOiei/m+Wkp+aVsOaNruWdkeeahCINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMgMS4g5oiR5bCx5LiN6IO96Zey552A5ZCX77yf5Li65LuA5LmI5oC75oOz552A6Kej5Yaz6Zeu6aKYDQojIyAxLjEg5LqL5oOF55Sx5p2l4oCU4oCU5Yac5pmu5pWw5o2u5aSE55CG55qE6Zq+6aKYDQrnlKhS5YGa5pWw5o2u5aSE55CG5piv5b6I6auY55qE77yM5Y+v5Lul54G15rS75a+55pWw5o2u6L+b6KGM5ou85o6l44CB5Y+Y5Z6L562J5pON5L2c77yMDQrlho3lgZrmsYfmgLvlsLHmlrnkvr/lvojlpJrvvIzkvYZS5Lmf5pyJ5Liq57y654K577yM5b+F6aG75bCG5pWw5o2u6K+75YWl5YaF5a2Y77yMDQrmiJHku6znmoTlip7lhaznlLXohJHlj6rmnIk0R+WGheWtmO+8jOWcqOezu+e7n+eUqOaOieS4gOS6m++8jOWwseayoeacieWkmuWwkeeVmee7mVLkuobvvIwNCioqMTDliJflt6blj7PnmoTmlbDmja7vvIznmb7kuIfooYzph4/nuqfmmK/mnoHpmZDkuoYqKu+8jA0K6ICM5Yac5pmuSOihqOacrOi6q+W3suaciTgwMOWkmuS4h+ihjO+8jOiAjOS4lOWIl+aVsOWPquacieS4iueZvu+8jA0K5Zug5q2k5peg5rOV5ZyoUuS4reWkhOeQhu+8jOabtOS9leWGteaLvOaOpeWIhue7hOWQjuWPr+iDveWcqOatpOWfuuehgOS4iuWGjeaJqeWkpzEwMOWAjeOAgg0KDQojIzEuMiDosIPmn6Xov4fnqIvkuK3nmoTmlrnms5UNCuWcqOWGnOaZruiwg+afpeWuoeaguOmYtuaute+8jOWwmuacieaKmOS4reaWueazleWFi+acjeS4iui/sOmavumimO+8jA0K5LuO5pWw5o2u5bqT6K+75Y+W5pWw5o2u5pe2KirlhYjnlKhzcWzov5vooYzmsYfmgLvvvIzmsYfmgLvliLDmnZHnuqcqKu+8jA0K6L+Z5qC36IO95oqK5pWw5o2u6KGM5pWw57yp5bCP5Yiw5LiH6KGM6YeP57qn77yM6ICM5LiU5LiA6Iis5LuF6YCJ5oup5b2T5pe26ZyA6KaB55qE5oyH5qCH77yMDQrog73kv53or4HljbPkvb/lgZrmlbDmja7lj5jlnovvvIzmlbDmja7ooYzmlbDln7rmnKzog73mjqfliLblnKjljYPkuIfooYzku6XlhoXjgIINCg0KIyMgMS4zIOWGnOaZrui1hOaWmeW8gOWPkeeahOaWsOmavumimA0K5LiK6L+w5aSE55CG5pa55rOV5Zyo5Yac5pmu6LWE5paZ5byA5Y+R5Lit5Lmf5LiN566h55So5LqG77yMDQrpppblhYjlhpzmma7otYTmlpnlvIDlj5Hlm4rmi6zkuoblpKfpg6jmjIfmoIfvvIzmsqHmnInkuobpgInmi6nmjIfmoIfnvKnlsI/liJfmlbDnmoTlj6/og73vvIwNCuWFtuasoe+8jOi1hOaWmeS4reaMieadkeWIhue7hOWPr+iDvemAmui/h3NxbOWFiOihjOaxh+aAu+eahOaWueW8j+e8qeWwj+aVsOaNruihjOaVsO+8jA0K5YW25LuW5oyJ5oi344CB5Lq65bGe5oCn5YiG57uE55qE5rKh5pyJ5Yqe5rOV6aKE5rGH5oC75LiU5pi+6JGX57yp5bCP5pWw5o2u6KGM5pWw44CCDQoNCiMjICAxLjQg5paw5aSE55CG5pa55rOV5a+55Yac5pmu6LWE5paZ5byA5Y+R55qE5b+F6KaB5oCnDQrmma7mn6XotYTmlpnlvIDlj5HmmK/kuIDnp43op4TlvovmgKflvojlvLrnmoTmlbDmja7lpITnkIbmlrnlvI/vvIwNCuWPr+S7peaAu+e7k+S4uuaMieWwkeaVsOWHoOenjemihOiuoueahOWIhue7hOaxh+aAu+aJgOacieaMh+agh++8jA0K5rGH5oC755qE5pa55byP5Lmf5Y+q5pyJ5rGC5ZKM5ZKM6K6h566X77yM5rGH5oC75ZCO5YaN6K6h566X55m+5YiG5q+U44CCDQrogIznjrDmnInnmoTmlbDmja7lpITnkIbns7vnu5/vvIzml6DorrrmmK/lhpzmma7lm73lrrblubPlj7DvvIzov5jmmK/njrDnnIHlubPlj7DvvIwNCuWcqOaVsOaNruaxh+aAu+aWuemdoumDveaYr+W8uuiwg+S4quaAp+WMlu+8jOS7peWwveWPr+iDveeahOa7oei2s+Wkmuagt+aAp+eahOaxh+aAu+imgeaxgu+8jA0K5Luj5Lu35bCx5piv54m654my5LqG5pWI546H77yM5peg6K665Yi26KGo6L+Y5piv5rGH5oC75pWw5o2u6YO95b6I5oWi44CCDQrogIzov5nnp43op4TliJnmgKflvojlvLrnmoTmma7mn6XotYTmlpnlvIDlj5HvvIzmraPmmK9S44CBUHl0aG9u562J6K+t6KiA55qE5by66aG577yMDQrkvYblv4Xpobvlvpfop6PlhrPlpKfmlbDmja7pmr7popjjgIINCg0KIyAgMi4g5paw5aWR5py6DQojIyAgMi4xIOWGnOadkeWPuOeahOino+WGs+aWueahiA0K5LiK6aW25Zu95a626LWE5paZ5byA5Y+R5Lya5Lit77yM5Yac5p2R5Y+45ou/5Ye65LqG6Ieq5bex55qE6Kej5Yaz5pa55qGI77yMDQoqKk1pY3JvU29mdCBNYWNoaW5lIExlYXJuaW5nIFNlcnZlcioq77yMDQrkuIflm73lvLrlpITplb/nnIvmnaXmmK/mnInkuKrlpKforqHliJLvvIwx5bm05YmN5Zyo5ZK45a6B5pe25YCZ5Z+56K6t5LqGUu+8jOWOn+adpeaYr+acieeahOaUvuefouOAgg0KTU1MU+aYr+W+rui9r+eahOWkp+aVsOaNruWkhOeQhuW5s+WPsO+8jFLlkoxQeXRob27pg73lj6/nlKjvvIzlj6/pg6jnvbLliLDpm4bnvqTvvIwNCuiKgueCueS4uuS4ieenjeexu+Wei++8jOS4u+OAgeiuoeeul+WSjHdlYu+8jDTlj7Dnu4TnvZHmmK/otbfmraXvvIzlvZPnhLbljZXlraPov5DooYzkuZ/msqHpl67popjvvIwNCuaIkeS7rOWfueiureaXtu+8jOeslOiusOacrOeUteiEkemDveiDvei/kOihjOWNleacuuW5s+WPsOOAgg0KDQojIyAgMi4yIOWPpui+n+i5iuW+hA0K5Lyg57uf5Lit77yM5b6u6L2v5bm25LiN5rOo6YeN5aSn5pWw5o2u77yM5b2TSGFkb29w77yMQmlnVGFibGXmqKrnqbrlh7rkuJbml7bvvIzlvq7ova/ov5jkuI3nm7TliLDlnKjlubLlmJvvvIwNCuaXoueEtuWmguatpO+8jOaIkeS4uuS9leS4jeebtOaOpeS7juabtOWKoOWkp+S8l+eahOWkp+aVsOaNruW5s+WPsOWFpeaJi+WRou+8jOS6juaYr1NwYXJr5bCx6L+Z5LmI6L+b5YWl5LqG5oiR55qE6KeG6YeO44CCDQrlnKhTcGFya+eahOiuuuaWh+S4re+8jOaAp+iDveaYr0hhZG9vcOeahDEwMOWAje+8jOiZveeEtuWPqui/m+ihjOS6huWkp+WutumDveiDveaDs+WIsOeahOS8mOWMlu+8jA0K55SoUkRE5Luj5pu/5LqGSERGU++8iOi/meS5iOivtOS5n+iuuOW5tuS4jeWHhuehru+8ie+8jOWcqOaVsOaNruWkhOeQhueahOi/h+eoi+S4reS4jeeUqOavj+asoeeahOivu+WGmUhERlPvvIwNCuiAjOaYr+abtOWkmuWcqOWGheWtmOS4reWkhOeQhu+8jOWmguatpOWwseW/q+S6hjEwMOWAje+8jCoqU3BhcmvlpoLml6XkuK3lpKnvvIzmiJHlsLHov5nkuYjpgInkuoZTcGFyayoq44CCDQoNCiMjIDIuMyDlh4blpIflt6XkvZwNCuWSjOWkhOeQhuaxh+aKpeWQju+8jOW5tuS4juaVsOeuoeS4reW/g+ikmuiLseWbveS4u+S7u+WVhumHj+WQju+8jOW+geW+l+S6huS4gOS4quacjeWKoeWZqDHlubTnmoTkvb/nlKjmnYPvvIwNCk9B5o+Q5Lqk55Sz6K+377yM5pyN5Yqh5Zmo5Yiw5L2N77yM6Jm954S25Y+q5pyJ5LiA5Y+w77yM5L2G5Y+v5Lul5byA5bel5LqG77yM5qyn6IC277yB77yB