需求: 一張300+欄位,1億資料量的表,去重並重新按照天分割槽 ,
(1)方案:直接全表去重並按照字段 動態分割槽
結果 : 失敗,由於資料量和字段過多,全表去重(row_number over())和 動態分割槽 都消耗過多資源,根本無法執行成功
(2)方案: 1.全表去重到中間表
2.中間表動態分割槽至原表
結果:失敗, 中間表執行成功使用15分鐘,但是中間表動態分割槽至原表時,整個集群檔案操作符飆公升,導致集群hbase 節點也不停 掉,程式也報broken_pip 的錯誤,搞的大家很鬱悶。冷靜分析如下:原表全表去重之後沒做任何處理,導致生成了1099個reduce檔案(集群單job 最大redece 數量),而每個檔案大約含有100個分割槽日期,這就導致了每個檔案要生成100個小檔案。一共要生成10萬個檔案,導致整個集群檔案操作符沾滿,進而影響集群和hbase
(3)最終方案。
1.全表去重到中間表 時 distribute
by 分割槽字段,這樣就可以 將相同分割槽的資料放到同乙個檔案中 用時 15 分鐘
2.新處理過的中間表 動態分割槽至原表, 用時3分鐘,問題完美解決
大資料hadoop系列 Hive優化
map階段的優化 作業會通過input的目錄產生乙個或多個map任務。a 假設input目錄下有1個檔案a,大小為780m,那麼hadoop會將該檔案a分隔成7個塊 6個128m的塊和1個12m的塊 從而產生7個map數 b 假設input目錄下有3個檔案a,b,c,大小分別為10m,20m,130...
優化大資料量的KML資料集
在google earth 的幫助檔案中,有對優化大資料集處理的簡單說明 在該幫助裡,對大型資料檔案做了圖塊化向量資料 regionating vector data 僅限專業版 的處理。建議用於大型資料檔案 向量資料圖塊化可限制較高海拔位置顯示的定點數量,自動提公升資料的質量。當放大畫面時,將會看...
大資料基礎之HIVE(一) 基礎知識,初學必看
1 基於hadoop的資料倉儲解決方案 將結構化的資料檔案對映為資料庫表 提供類sql的查詢語言hql hive query language hive讓更多的人使用hadoop 2 hive成為apache頂級專案 hive始於2007年的facebook 官網 hive.apache.org 1...