原文:一個大數據排序問題的巧妙解法

今天工作中遇到一個問題: 要求對 G的數據排序,數據的格式如下: 要求按時間升序排序 已有的資源為 G內存, 核的服務器一台,需要在一個晚上 小時 內跑出排序結果。 一個直觀的解法就是把數據全部加載進內存,然而實際操作並不可行,才加載了 不到的數據就已經使用了接近 G的內存了。 另一個解決思路是手動進行map reduce,分成若干小模塊,小模塊排序之后再逐一合並。這個思路實現起來代價也很高,逐一 ...

2016-09-21 21:16 2 3539 推薦指數:

查看詳情

大數據排序問題

問題 一個文件中有9億條不重復的9位整數,對這個文件中數字進行排序 直接想法 9億條(9e8)數據,每個數據能用int存儲 因此所需要內存 9e8x4B = 3.6e9B = 3.6GB,這是裝載所需要的 排序復雜度一般都是nlogn 因此需要的內存更大 方法一 數據排序 將文本文件 ...

Sat Apr 13 06:44:00 CST 2019 0 901
大數據小內存排序問題

內容來源:抖音二面,內存只有 2G,如何對 100 億數據進行排序? (qq.com) 本文只是對博主文章進行簡單的理解,大部分內容都與原文相同 大數據小內存排序問題,很經典,很常見,類似的還有比如 “如何對上百萬考試的成績進行排序” 等等。 三種方法: 數據排序(對數據庫設備 ...

Mon Mar 21 18:35:00 CST 2022 0 802
多線程外排序解決大數據排序問題1(並行快排和並行歸並)【轉】

轉自:AIfred 問題: 對一個 10GB 的數據文件排序,而計算機內存僅有 4GB 思路: 將整個文件讀入內存排序顯然不行。可以將這個 10GB 的大文件分區為 100 個 100MB 的小文件,把這些小文件的數據依次讀入內存、排序、再輸出,於是我們便得到了 100 個各自有 ...

Thu Sep 06 00:51:00 CST 2018 0 2492
JAVA大數據數組排序

對於數據排序大家肯定見過不少,選擇排序或者冒泡排序等等,今天我們要做的是快速排序 + 直接插入排序來對大數據(1000萬以上)進行排序,下面我們分別來看看這兩種排序規則 1, 直接插入排序 (1)基本思想:在要排序的一組數中,假設前面(n-1)[n>=2] 個數已經是排 好順序的,現在 ...

Wed Nov 30 18:30:00 CST 2016 0 3135
大數據排序的實現代碼, 理論上支持幾百億沒問題

先上說說思路, 1, 把一個bigdata文件拆分成N個小文件,小文件容量小於當前機器的內存 2,對小文件進行排序處理 3,對小文件進行並歸排序,代碼中我是用1 and 1,一個個並歸生成新的排序完成的文件,直到全部並歸完成 簡單說說我這里的並歸算法,代碼中 ...

Wed Mar 20 20:20:00 CST 2013 4 5881
大數據常見問題整理

講述HDFS上傳文件和讀文件的流程 HDFS 上傳流程 過程解析:詳解這里描述的 是一個256M的文件上傳過程 ① 由客戶端 向 NameNode節點節點 發出請求②NameNode 向Client返回可以可以存數據的 DataNode 這里遵循 機架感應 原則③客戶端 ...

Mon Dec 03 02:21:00 CST 2018 0 896
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM