从品牌网站建设到网络营销策划,从策略到执行的一站式服务
需求:导出一个月数据提供测试分析
港闸网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
实施:
直接hive -e “xxxxx”> testdata.txt
然后看输出信息,map%1 %2 %3...... %100,但是reduce一直是0%,等啊等,等了十几个小时,还是0%,最后杀掉进程,再试了几次,现象一样,可知每次等十几个小时,一转眼,两天了。
于是怀疑集群有问题,排查了好久,没发现问题。
又怀疑where条件有问题,折腾了半天还是一样。
后来加上了limit先看看有没有结果,有的话就证明语法没错;果然limit 10很快就出来了10条记录,语法正确。
又接着换了spark去提取,总是报buffer不足,加到原来10倍,还提示不足。
难道数据这么大?
准备count一下,等等等,一个月总共2亿8千万多条,mygod!!!我错了
于是先用hive导出一天的数据,等等等,重定性写文件就写了20分钟,我心想这得有多少啊,等写完了用wc -l 一看,800多万条,文件大小4G,哦哦哦,顿时明白了,不是集群问题,是因为数据太多reduce执行很慢。
最后,估算了每条约是600B,然后每天取1000条,连续取7天,最后文件大小约4MB
命令如下:
hive -e "set hive.cli.print.header=true;use dw;select * from aem where day ='2015-08-24' limit 1000" > aem_pg_8_24_30.txt
hive -e "use dw;select * from aem where day ='2015-08-25' limit 1000" >> aem_pg_8_24_30.txt
hive -e "use dw;select * from aem where day ='2015-08-26' limit 1000" >> aem_pg_8_24_30.txt
hive -e "use dw;select * from aem where day ='2015-08-27' limit 1000" >> aem_pg_8_24_30.txt
hive -e "use dw;select * from aem where day ='2015-08-28' limit 1000" >> aem_pg_8_24_30.txt
hive -e "use dw;select * from aem where day ='2015-08-29' limit 1000" >> aem_pg_8_24_30.txt
hive -e "use dw;select * from aem where day ='2015-08-30' limit 1000" >> aem_pg_8_24_30.txt
收获:
大数据处理的思路要稍微不同。首先估算数据量,这个很重要;然后确定导出方式,太大的话缩小颗粒度,多次导出。
思路很重要!思路很重要!思路很重要!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图