记一次hadoop大数据导出

需求:导出一个月数据提供测试分析

实施:

直接蜂巢- e“xxxxx”比;testdata。txt

然后看输出信息,图3……% 1% 2%% 100,但是减少一直是0%,等啊等,等了十几个小时,还是0%,最后杀掉进程,再试了几次,现象一样,可知每次等十几个小时,一转眼,两天了。

于是怀疑集群有问题,排查了好久,没发现问题。

又怀疑,条件有问题,折腾了半天还是一样。

后来加上了限制先看看有没有结果,有的话就证明语法没错;果然限制10很快就出来了10条记录,语法正确。

又接着换了火花去提取,总是报缓冲不足,加到原来的10倍,还提示不足。

难道数据这么大?

准备数一下,等等等,一个月总共2亿8千万多条,mygod ! ! !我错了

于是先用蜂巢导出一天的数据,等等等,重定性写文件就写了20分钟,我心想这得有多少啊,等写完了用wc - l,一看,800多万条,文件大小4 g,哦哦哦,顿时明白了,不是集群问题,是因为数据太多减少执行很慢。

最后,估算了每条约是600 b,然后每天取1000条,连续取7天,最后文件大小约4 mb

命令如下:

蜂巢- e”设置hive.cli.print.header=true;使用dw; select * from aem 1000天=' 2015-08-24 '限制”在aem_pg_8_24_30。txt

蜂巢- e”使用dw; select * from aem 1000天=' 2015-08-25 '限制”在祝辞aem_pg_8_24_30。txt

蜂巢- e”使用dw; select * from aem 1000天=' 2015-08-26 '限制”在祝辞aem_pg_8_24_30。txt

蜂巢- e”使用dw; select * from aem 1000天=' 2015-08-27 '限制”在祝辞aem_pg_8_24_30。txt

蜂巢- e”使用dw; select * from aem 1000天=' 2015-08-28 '限制”在祝辞aem_pg_8_24_30。txt

蜂巢- e”使用dw; select * from aem 1000天=' 2015-08-29 '限制”在祝辞aem_pg_8_24_30。txt

蜂巢- e”使用dw; select * from aem 1000天=' 2015-08-30 '限制”在祝辞aem_pg_8_24_30。txt


收获:

大数据处理的思路要稍微不同,首先估算数据量,这个很重要,然后确定导出方式,太大的话缩小颗粒度,多次导出。

思路很重要!思路很重要!思路很重要。

记一次hadoop大数据导出