多线程处理海量数据的解决方案
生活随笔
收集整理的這篇文章主要介紹了
多线程处理海量数据的解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
背景:
近期發現系統數據有不準確的現象發生,究其原因是因為上有數據導致的,而由于上游有多個渠道組成,所以無法要求上游統一修復數據。所以只能自己想辦法每天修復錯誤數據。
初步解決方案:
1,從商城庫存那邊拿到所有SKU+庫存的信息。
2,通過拿到的SKU+庫存信息,修復現有的數據。
遇到的問題:
1,庫存那邊的數據是以SKU+倉庫id+配送中心id為維度,但是我們這邊需要的是SKU+ORG維度。
2,全量庫存數據有1.2個億。
解決辦法:
1,先把庫存的原始數據(SKU+倉庫ID+配送中心id)數據落地。
2,將原始數據清洗為SKU+ORG維度。
3,將清洗好的數據中過濾掉,不需要的庫存信息。
4,開啟多個多線程同時修復數據。
?
多線程部分:
共同時開啟4個線程(0、1、2、3),用SKU_ID對4取模
也就是說:
線程0處理的數據范圍為:SKU_ID%4=0 的數據。
線程1處理的數據范圍為:SKU_ID%4=1 的數據。
線程2處理的數據范圍為:SKU_ID%4=2 的數據。
線程3處理的數據范圍為:SKU_ID%4=3 的數據。
?
每個線程,每次再分頁處理數據,即可。經過嘗試,1.2個億的數據分4個線程大概半個小時,即可處理完。
轉載于:https://www.cnblogs.com/FranklinD/p/7266362.html
總結
以上是生活随笔為你收集整理的多线程处理海量数据的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel VBA实现批量创建链接
- 下一篇: jq 按钮能触发submit吗