testdata.txt然后看輸出信息,map%1 %2 %3...... %100,但是reduce一直是0%,等啊等,等了十幾..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

記一次hadoop大數(shù)據(jù)導(dǎo)出

發(fā)布時間:2020-07-21 05:04:27 來源:網(wǎng)絡(luò) 閱讀:4743 作者:lejie851112 欄目:大數(shù)據(jù)

需求:導(dǎo)出一個月數(shù)據(jù)提供測試分析

實施:

直接hive -e “xxxxx”> testdata.txt

然后看輸出信息,map%1 %2 %3...... %100,但是reduce一直是0%,等啊等,等了十幾個小時,還是0%,最后殺掉進程,再試了幾次,現(xiàn)象一樣,可知每次等十幾個小時,一轉(zhuǎn)眼,兩天了。

于是懷疑集群有問題,排查了好久,沒發(fā)現(xiàn)問題。

又懷疑where條件有問題,折騰了半天還是一樣。

后來加上了limit先看看有沒有結(jié)果,有的話就證明語法沒錯;果然limit 10很快就出來了10條記錄,語法正確。

又接著換了spark去提取,總是報buffer不足,加到原來10倍,還提示不足。

難道數(shù)據(jù)這么大?

準(zhǔn)備count一下,等等等,一個月總共2億8千萬多條,mygod?。?!我錯了

于是先用hive導(dǎo)出一天的數(shù)據(jù),等等等,重定性寫文件就寫了20分鐘,我心想這得有多少啊,等寫完了用wc -l  一看,800多萬條,文件大小4G,哦哦哦,頓時明白了,不是集群問題,是因為數(shù)據(jù)太多reduce執(zhí)行很慢。

最后,估算了每條約是600B,然后每天取1000條,連續(xù)取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


收獲:

大數(shù)據(jù)處理的思路要稍微不同。首先估算數(shù)據(jù)量,這個很重要;然后確定導(dǎo)出方式,太大的話縮小顆粒度,多次導(dǎo)出。

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

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI