海量數(shù)據(jù)處理1

What is 海量數(shù)據(jù)啊送?

數(shù)據(jù)量太大,導(dǎo)致要么是無法在較短時(shí)間內(nèi)迅速解決泄鹏,要么由于數(shù)據(jù)量太大实胸,無法一次性裝入內(nèi)存而導(dǎo)致傳統(tǒng)方法無法解決

What is 海量數(shù)據(jù)處理 他嫡?

基于海量數(shù)據(jù)的查找,統(tǒng)計(jì)童芹,運(yùn)算等操作



常見的對(duì)海量數(shù)據(jù)的處理方法
分治 —— Hash映射

在對(duì)大文件進(jìn)行處理時(shí)涮瞻,若文件過大,無法一次性讀入內(nèi)存假褪,可以考慮采用Hash映射的方法將文件中的元素映射到不同小文件中署咽,然后在依次處理各個(gè)小文件,最后合并處理結(jié)果生音,這樣就降低了問題的規(guī)模


常見問題
1. TopK問題

描述:在大規(guī)模數(shù)據(jù)處理中宁否,會(huì)經(jīng)常出現(xiàn)一類問題:如何尋找出最大的前k個(gè)數(shù),或最小的k個(gè)數(shù)缀遍。
若這些數(shù)據(jù)能一次性裝入內(nèi)存慕匠,快排的時(shí)間復(fù)雜度為O(n)堆排序的時(shí)間復(fù)雜O(nlogk)空間O(1)
但是在面對(duì)海量數(shù)據(jù)時(shí),快排的一次劃分就不能再使用域醇!但堆結(jié)構(gòu)依舊可以使用

是海量數(shù)據(jù)處理的常用工具之一

例1:

有一個(gè)1GB文件台谊,里面一行是一個(gè)詞,詞的大小不超過16字節(jié)譬挚,內(nèi)存限制為1MB锅铅,返回頻數(shù)最高的100個(gè)詞 (2012.百度)

解析:

可以采用分治法:
順序讀文件,對(duì)于每個(gè)詞x减宣,取 hash(x) % 5000盐须,然后根據(jù)值存到5000個(gè)小文件中,記為X0漆腌,X1贼邓,……阶冈,X4999,這樣每個(gè)小文件大小為200KB左右
如果其中有文件的大小超過了1MB塑径,還可以按照類似的方法繼續(xù)往下分女坑,直到不超過。
對(duì)每個(gè)小文件晓勇,統(tǒng)計(jì)每個(gè)小文件中出現(xiàn)的詞及相應(yīng)頻率(可用樹或hash_map)堂飞,并分別取出頻率最大的100個(gè)詞(可用含100個(gè)結(jié)點(diǎn)的最小堆結(jié)構(gòu))灌旧,將這100個(gè)詞及相應(yīng)的頻數(shù)存入文件绑咱,這樣又得到5000個(gè)有序文件(每個(gè)文件有100個(gè)詞),下一步就是把這5000個(gè)文件進(jìn)行歸并排序的過程枢泰。


例2:

海量日志數(shù)據(jù)描融,提取出某日訪問百度次數(shù)最多的那個(gè)IP,假設(shè)當(dāng)前機(jī)器可用內(nèi)存較小衡蚂,無法一次性讀入日志文件(2012.百度)

解析
  • 方案1:使用分而治之的思想
    為了保證海量數(shù)據(jù)分成幾個(gè)小塊后窿克,每個(gè)小塊中的元素都互不相同,也就是說毛甲,值相同的元素要被分到同一數(shù)據(jù)塊中年叮,可以使用hash的方法:
    hash(value) % nn就是要分的塊數(shù)
    這樣在每個(gè)小塊中再使用hash_map的方法統(tǒng)計(jì)每個(gè)value的頻數(shù)玻募,之后再利用堆排序對(duì)每個(gè)小塊的頻數(shù)進(jìn)行排序只损,具體過程如下
    1. IP地址最多有2^32 = 4G種取值可能,按照IP地址的hash(IP)%1024的值七咧,將海量日志存儲(chǔ)到1024個(gè)小文件中跃惫,每個(gè)小文件最多包含4MB個(gè)IP地址
    2. 對(duì)于每個(gè)小文件,可以構(gòu)建一個(gè)IP作為Key艾栋,出現(xiàn)次數(shù)作為Value的Hash_map爆存,并記錄當(dāng)前出現(xiàn)次數(shù)最多的一個(gè)IP地址
    3. 有了1024個(gè)小文件中出現(xiàn)次數(shù)最多的IP,我么就可以輕松得到總體上出現(xiàn)次數(shù)最多的IP

Bit_map

原理:使用位數(shù)來表示某些元素是否存在蝗砾,由于采用bit為單位來存儲(chǔ)數(shù)據(jù)先较,因此儲(chǔ)存空間方面可以大大節(jié)省,故適用于海量數(shù)據(jù)的快速查找悼粮,判重闲勺,刪除等

Bloom Filter:布隆過濾器

可視為Bit_map的拓展

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市矮锈,隨后出現(xiàn)的幾起案子霉翔,更是在濱河造成了極大的恐慌,老刑警劉巖苞笨,帶你破解...
    沈念sama閱讀 222,464評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件债朵,死亡現(xiàn)場(chǎng)離奇詭異子眶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)序芦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門臭杰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谚中,你說我怎么就攤上這事渴杆。” “怎么了宪塔?”我有些...
    開封第一講書人閱讀 169,078評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵磁奖,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我某筐,道長(zhǎng)比搭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,979評(píng)論 1 299
  • 正文 為了忘掉前任南誊,我火速辦了婚禮身诺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘抄囚。我一直安慰自己霉赡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評(píng)論 6 398
  • 文/花漫 我一把揭開白布幔托。 她就那樣靜靜地躺著穴亏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪柑司。 梳的紋絲不亂的頭發(fā)上迫肖,一...
    開封第一講書人閱讀 52,584評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音攒驰,去河邊找鬼蟆湖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛玻粪,可吹牛的內(nèi)容都是我干的隅津。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼劲室,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼伦仍!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起很洋,我...
    開封第一講書人閱讀 40,023評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤充蓝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谓苟,經(jīng)...
    沈念sama閱讀 46,555評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡官脓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涝焙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卑笨。...
    茶點(diǎn)故事閱讀 40,769評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖仑撞,靈堂內(nèi)的尸體忽然破棺而出赤兴,到底是詐尸還是另有隱情,我是刑警寧澤隧哮,帶...
    沈念sama閱讀 36,439評(píng)論 5 351
  • 正文 年R本政府宣布桶良,位于F島的核電站,受9級(jí)特大地震影響近迁,放射性物質(zhì)發(fā)生泄漏艺普。R本人自食惡果不足惜簸州,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評(píng)論 3 335
  • 文/蒙蒙 一鉴竭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧岸浑,春花似錦搏存、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至读虏,卻和暖如春责静,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背盖桥。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工灾螃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人揩徊。 一個(gè)月前我還...
    沈念sama閱讀 49,191評(píng)論 3 378
  • 正文 我出身青樓腰鬼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親塑荒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子熄赡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容