大數(shù)據(jù)量及海量數(shù)據(jù)處理算法總結(jié)

? ?下面的方法是我對(duì)海量數(shù)據(jù)的處理方法進(jìn)行了一個(gè)一般性的總結(jié)鸥鹉,當(dāng)然這些方法可能并不能完全覆蓋所有的問題,但是這樣的一些方法也基本可以處理絕大多數(shù)遇到的問題酝润。下面的一些問題基本直接來源于公司的面試筆試題目弓叛,方法不一定最優(yōu),如果你有更好的處理方法灾茁,歡迎與我討論窜觉。

1.Bloom filter

適用范圍:可以用來實(shí)現(xiàn)數(shù)據(jù)字典,進(jìn)行數(shù)據(jù)的判重北专,或者集合求交集

基本原理及要點(diǎn):

對(duì) 于原理來說很簡單禀挫,位數(shù)組+k個(gè)獨(dú)立hash函數(shù)。將hash函數(shù)對(duì)應(yīng)的值的位數(shù)組置1拓颓,查找時(shí)如果發(fā)現(xiàn)所有hash函數(shù)對(duì)應(yīng)位都是1說明存在语婴,很明顯這 個(gè)過程并不保證查找的結(jié)果是100%正確的。同時(shí)也不支持刪除一個(gè)已經(jīng)插入的關(guān)鍵字驶睦,因?yàn)樵撽P(guān)鍵字對(duì)應(yīng)的位會(huì)牽動(dòng)到其他的關(guān)鍵字砰左。所以一個(gè)簡單的改進(jìn)就是 counting Bloom filter,用一個(gè)counter數(shù)組代替位數(shù)組啥繁,就可以支持刪除了菜职。

還有一個(gè)比較重要的問題青抛,如 何根據(jù)輸入元素個(gè)數(shù)n旗闽,確定位數(shù)組m的大小及hash函數(shù)個(gè)數(shù)。當(dāng)hash函數(shù)個(gè)數(shù)k=(ln2)*(m/n)時(shí)錯(cuò)誤率最小蜜另。在錯(cuò)誤率不大于E的情況 下适室,m至少要等于n*lg(1/E)才能表示任意n個(gè)元素的集合。但m還應(yīng)該更大些举瑰,因?yàn)檫€要保證bit數(shù)組里至少一半為 0捣辆,則m 應(yīng)該>=nlg(1/E)*lge 大概就是nlg(1/E)1.44倍(lg表示以2為底的對(duì)數(shù))。

舉個(gè)例子我們假設(shè)錯(cuò)誤率為0.01此迅,則此時(shí)m應(yīng)大概是n的13倍汽畴。這樣k大概是8個(gè)。

注意這里m與n的單位不同耸序,m是bit為單位忍些,而n則是以元素個(gè)數(shù)為單位(準(zhǔn)確的說是不同元素的個(gè)數(shù))。通常單個(gè)元素的長度都是有很多bit的坎怪。所以使用bloom filter內(nèi)存上通常都是節(jié)省的罢坝。


擴(kuò)展:

Bloom filter將集合中的元素映射到位數(shù)組中,用k(k為哈希函數(shù)個(gè)數(shù))個(gè)映射位是否全1表示元素在不在這個(gè)集合中搅窿。Counting bloom filter(CBF)將位數(shù)組中的每一位擴(kuò)展為一個(gè)counter嘁酿,從而支持了元素的刪除操作隙券。Spectral Bloom Filter(SBF)將其與集合元素的出現(xiàn)次數(shù)關(guān)聯(lián)。SBF采用counter中的最小值來近似表示元素的出現(xiàn)頻率闹司。

問題實(shí)例:給你A,B兩個(gè)文件娱仔,各存放50億條URL,每條URL占用64字節(jié)游桩,內(nèi)存限制是4G拟枚,讓你找出A,B文件共同的URL。如果是三個(gè)乃至n個(gè)文件呢众弓?

根 據(jù)這個(gè)問題我們來計(jì)算下內(nèi)存的占用恩溅,4G=2^32大概是40億*8大概是340億,n=50億谓娃,如果按出錯(cuò)率0.01算需要的大概是650億個(gè) bit〗畔纾現(xiàn)在可用的是340億,相差并不多滨达,這樣可能會(huì)使出錯(cuò)率上升些奶稠。另外如果這些urlip是一一對(duì)應(yīng)的,就可以轉(zhuǎn)換成ip捡遍,則大大簡單了锌订。

2.Hashing

適用范圍:快速查找,刪除的基本數(shù)據(jù)結(jié)構(gòu)画株,通常需要總數(shù)據(jù)量可以放入內(nèi)存

基本原理及要點(diǎn):

hash函數(shù)選擇辆飘,針對(duì)字符串,整數(shù)谓传,排列蜈项,具體相應(yīng)的hash方法。

碰撞處理续挟,一種是open hashing紧卒,也稱為拉鏈法;另一種就是closed hashing诗祸,也稱開地址法跑芳,opened addressing。 (http://www.my400800.cn)

擴(kuò)展:

d-left hashing中的d是多個(gè)的意思直颅,我們先簡化這個(gè)問題博个,看一看2-left hashing。2-left hashing指的是將一個(gè)哈希表分成長度相等的兩半际乘,分別叫做T1和T2坡倔,給T1和T2分別配備一個(gè)哈希函數(shù),h1和h2。在存儲(chǔ)一個(gè)新的key時(shí)罪塔,同 時(shí)用兩個(gè)哈希函數(shù)進(jìn)行計(jì)算投蝉,得出兩個(gè)地址h1[key]和h2[key]。這時(shí)需要檢查T1中的h1[key]位置和T2中的h2[key]位置征堪,哪一個(gè) 位置已經(jīng)存儲(chǔ)的(有碰撞的)key比較多瘩缆,然后將新key存儲(chǔ)在負(fù)載少的位置。如果兩邊一樣多佃蚜,比如兩個(gè)位置都為空或者都存儲(chǔ)了一個(gè)key庸娱,就把新key 存儲(chǔ)在左邊的T1子表中,2-left也由此而來谐算。在查找一個(gè)key時(shí)熟尉,必須進(jìn)行兩次hash,同時(shí)查找兩個(gè)位置洲脂。

問題實(shí)例:

1).海量日志數(shù)據(jù)斤儿,提取出某日訪問百度次數(shù)最多的那個(gè)IP。

IP的數(shù)目還是有限的恐锦,最多2^32個(gè)往果,所以可以考慮使用hash將ip直接存入內(nèi)存,然后進(jìn)行統(tǒng)計(jì)一铅。

3.bit-map

適用范圍:可進(jìn)行數(shù)據(jù)的快速查找陕贮,判重,刪除潘飘,一般來說數(shù)據(jù)范圍是int的10倍以下

基本原理及要點(diǎn):使用bit數(shù)組來表示某些元素是否存在肮之,比如8位電話號(hào)碼

擴(kuò)展:bloom filter可以看做是對(duì)bit-map的擴(kuò)展

問題實(shí)例:

1)已知某個(gè)文件內(nèi)包含一些電話號(hào)碼,每個(gè)號(hào)碼為8位數(shù)字福也,統(tǒng)計(jì)不同號(hào)碼的個(gè)數(shù)局骤。

8位最多99 999 999攀圈,大概需要99m個(gè)bit暴凑,大概10幾m字節(jié)的內(nèi)存即可。

2)2.5億個(gè)整數(shù)中找出不重復(fù)的整數(shù)的個(gè)數(shù)赘来,內(nèi)存空間不足以容納這2.5億個(gè)整數(shù)现喳。

將bit-map擴(kuò)展一下,用2bit表示一個(gè)數(shù)即可犬辰,0表示未出現(xiàn)嗦篱,1表示出現(xiàn)一次,2表示出現(xiàn)2次及以上幌缝【拇伲或者我們不用2bit來進(jìn)行表示,我們用兩個(gè)bit-map即可模擬實(shí)現(xiàn)這個(gè)2bit-map。

4.堆

適用范圍:海量數(shù)據(jù)前n大浴栽,并且n比較小荒叼,堆可以放入內(nèi)存

基 本原理及要點(diǎn):最大堆求前n小,最小堆求前n大典鸡。方法被廓,比如求前n小,我們比較當(dāng)前元素與最大堆里的最大元素萝玷,如果它小于最大元素嫁乘,則應(yīng)該替換那個(gè)最大元 素。這樣最后得到的n個(gè)元素就是最小的n個(gè)球碉。適合大數(shù)據(jù)量蜓斧,求前n小,n的大小比較小的情況睁冬,這樣可以掃描一遍即可得到所有的前n元素法精,效率很高。

擴(kuò)展:雙堆痴突,一個(gè)最大堆與一個(gè)最小堆結(jié)合搂蜓,可以用來維護(hù)中位數(shù)。


問題實(shí)例:

1)100w個(gè)數(shù)中找最大的前100個(gè)數(shù)辽装。

用一個(gè)100個(gè)元素大小的最小堆即可帮碰。

5.雙層桶劃分 ----其實(shí)本質(zhì)上就是【分而治之】的思想,重在“分”的技巧上拾积!

適用范圍:第k大殉挽,中位數(shù),不重復(fù)或重復(fù)的數(shù)字

基本原理及要點(diǎn):因?yàn)樵胤秶艽笸厍桑荒芾弥苯訉ぶ繁硭孤担酝ㄟ^多次劃分,逐步確定范圍,然后最后在一個(gè)可以接受的范圍內(nèi)進(jìn)行宫莱∥椿模可以通過多次縮小,雙層只是一個(gè)例子冠骄。

擴(kuò)展:

問題實(shí)例:

1).2.5億個(gè)整數(shù)中找出不重復(fù)的整數(shù)的個(gè)數(shù),內(nèi)存空間不足以容納這2.5億個(gè)整數(shù)加袋。

有點(diǎn)像鴿巢原理凛辣,整數(shù)個(gè)數(shù)為2^32,也就是,我們可以將這2^32個(gè)數(shù)职烧,劃分為2^8個(gè)區(qū)域(比如用單個(gè)文件代表一個(gè)區(qū)域)扁誓,然后將數(shù)據(jù)分離到不同的區(qū)域防泵,然后不同的區(qū)域在利用bitmap就可以直接解決了。也就是說只要有足夠的磁盤空間蝗敢,就可以很方便的解決择克。

2).5億個(gè)int找它們的中位數(shù)。

這個(gè)例子比上面那個(gè)更明顯前普。首先我們將int劃分為2^16個(gè)區(qū)域肚邢,然后讀取數(shù)據(jù)統(tǒng)計(jì)落到各個(gè)區(qū)域里的數(shù)的個(gè)數(shù),之后我們根據(jù)統(tǒng)計(jì)結(jié)果就可以判斷中位數(shù)落到那個(gè)區(qū)域拭卿,同時(shí)知道這個(gè)區(qū)域中的第幾大數(shù)剛好是中位數(shù)骡湖。然后第二次掃描我們只統(tǒng)計(jì)落在這個(gè)區(qū)域中的那些數(shù)就可以了。

實(shí) 際上峻厚,如果不是int是int64响蕴,我們可以經(jīng)過3次這樣的劃分即可降低到可以接受的程度。即可以先將int64分成2^24個(gè)區(qū)域惠桃,然后確定區(qū)域的第幾 大數(shù)浦夷,在將該區(qū)域分成2^20個(gè)子區(qū)域,然后確定是子區(qū)域的第幾大數(shù)辜王,然后子區(qū)域里的數(shù)的個(gè)數(shù)只有2^20劈狐,就可以直接利用direct addr table進(jìn)行統(tǒng)計(jì)了。

6.數(shù)據(jù)庫索引

適用范圍:大數(shù)據(jù)量的增刪改查

基本原理及要點(diǎn):利用數(shù)據(jù)的設(shè)計(jì)實(shí)現(xiàn)方法呐馆,對(duì)海量數(shù)據(jù)的增刪改查進(jìn)行處理肥缔。

擴(kuò)展:

問題實(shí)例:

7.倒排索引(Inverted index)

適用范圍:搜索引擎,關(guān)鍵字查詢

基本原理及要點(diǎn):為何叫倒排索引汹来?一種索引方法续膳,被用來存儲(chǔ)在全文搜索下某個(gè)單詞在一個(gè)文檔或者一組文檔中的存儲(chǔ)位置的映射。

以英文為例收班,下面是要被索引的文本:

T0 = "it is what it is"

T1 = "what is it"

T2 = "it is a banana"

我們就能得到下面的反向文件索引:

"a": {2}

"banana": {2}

"is": {0, 1, 2}

"it": {0, 1, 2}

"what": {0, 1}

檢索的條件"what", "is" 和 "it" 將對(duì)應(yīng)集合的交集坟岔。

正 向索引開發(fā)出來用來存儲(chǔ)每個(gè)文檔的單詞的列表。正向索引的查詢往往滿足每個(gè)文檔有序頻繁的全文查詢和每個(gè)單詞在校驗(yàn)文檔中的驗(yàn)證這樣的查詢摔桦。在正向索引 中社付,文檔占據(jù)了中心的位置,每個(gè)文檔指向了一個(gè)它所包含的索引項(xiàng)的序列酣溃。也就是說文檔指向了它包含的那些單詞瘦穆,而反向索引則是單詞指向了包含它的文檔,很 容易看到這個(gè)反向的關(guān)系赊豌。

擴(kuò)展:

問題實(shí)例:文檔檢索系統(tǒng),查詢那些文件包含了某單詞绵咱,比如常見的學(xué)術(shù)論文的關(guān)鍵字搜索碘饼。

8.外排序

適用范圍:大數(shù)據(jù)的排序熙兔,去重

基本原理及要點(diǎn):外排序的歸并方法,置換選擇 敗者樹原理艾恼,最優(yōu)歸并樹

擴(kuò)展:

問題實(shí)例:

1).有一個(gè)1G大小的一個(gè)文件住涉,里面每一行是一個(gè)詞,詞的大小不超過16個(gè)字節(jié)钠绍,內(nèi)存限制大小是1M舆声。返回頻數(shù)最高的100個(gè)詞。

這個(gè)數(shù)據(jù)具有很明顯的特點(diǎn)柳爽,詞的大小為16個(gè)字節(jié)媳握,但是內(nèi)存只有1m做hash有些不夠,所以可以用來排序磷脯。內(nèi)存可以當(dāng)輸入緩沖區(qū)使用蛾找。

9.trie樹

適用范圍:數(shù)據(jù)量大,重復(fù)多赵誓,但是數(shù)據(jù)種類小可以放入內(nèi)存

基本原理及要點(diǎn):實(shí)現(xiàn)方式打毛,節(jié)點(diǎn)孩子的表示方式

擴(kuò)展:壓縮實(shí)現(xiàn)。

問題實(shí)例:

1).有10個(gè)文件俩功,每個(gè)文件1G幻枉, 每個(gè)文件的每一行都存放的是用戶的query,每個(gè)文件的query都可能重復(fù)诡蜓。要你按照query的頻度排序 展辞。

2).1000萬字符串,其中有些是相同的(重復(fù)),需要把重復(fù)的全部去掉万牺,保留沒有重復(fù)的字符串罗珍。請問怎么設(shè)計(jì)和實(shí)現(xiàn)?

3).尋找熱門查詢:查詢串的重復(fù)度比較高脚粟,雖然總數(shù)是1千萬覆旱,但如果除去重復(fù)后,不超過3百萬個(gè)核无,每個(gè)不超過255字節(jié)扣唱。

10.分布式處理 mapreduce

適用范圍:數(shù)據(jù)量大,但是數(shù)據(jù)種類小可以放入內(nèi)存

基本原理及要點(diǎn):將數(shù)據(jù)交給不同的機(jī)器去處理团南,數(shù)據(jù)劃分噪沙,結(jié)果歸約。

擴(kuò)展:

問題實(shí)例:

1).The canonical example application of MapReduce is a process to count the appearances of

each different word in a set of documents:

void map(String name, String document):

// name: document name

// document: document contents

for each word w in document:

EmitIntermediate(w, 1);

void reduce(String word, Iterator partialCounts):

// key: a word

// values: a list of aggregated partial counts

int result = 0;

for each v in partialCounts:

result += ParseInt(v);

Emit(result);

Here, each document is split in words, and each word is counted initially with a "1" value by

the Map function, using the word as the result key. The framework puts together all the pairs

with the same key and feeds them to the same call to Reduce, thus this function just needs to

sum all of its input values to find the total appearances of that word.

2).海量數(shù)據(jù)分布在100臺(tái)電腦中吐根,想個(gè)辦法高效統(tǒng)計(jì)出這批數(shù)據(jù)的TOP10正歼。

3).一共有N個(gè)機(jī)器,每個(gè)機(jī)器上有N個(gè)數(shù)拷橘。每個(gè)機(jī)器最多存O(N)個(gè)數(shù)并對(duì)它們操作局义。如何找到N^2個(gè)數(shù)的中數(shù)(median)喜爷?

經(jīng)典問題分析

上千萬or億數(shù)據(jù)(有重復(fù)),統(tǒng)計(jì)其中出現(xiàn)次數(shù)最多的前N個(gè)數(shù)據(jù),分兩種情況:可一次讀入內(nèi)存萄唇,不可一次讀入檩帐。

可用思路:trie樹+堆,數(shù)據(jù)庫索引另萤,劃分子集分別統(tǒng)計(jì)湃密,hash,分布式計(jì)算四敞,近似統(tǒng)計(jì)泛源,外排序

所 謂的是否能一次讀入內(nèi)存,實(shí)際上應(yīng)該指去除重復(fù)后的數(shù)據(jù)量目养。如果去重后數(shù)據(jù)可以放入內(nèi)存俩由,我們可以為數(shù)據(jù)建立字典,比如通過 map癌蚁,hashmap幻梯,trie,然后直接進(jìn)行統(tǒng)計(jì)即可努释。當(dāng)然在更新每條數(shù)據(jù)的出現(xiàn)次數(shù)的時(shí)候碘梢,我們可以利用一個(gè)堆來維護(hù)出現(xiàn)次數(shù)最多的前N個(gè)數(shù)據(jù),當(dāng) 然這樣導(dǎo)致維護(hù)次數(shù)增加伐蒂,不如完全統(tǒng)計(jì)后在求前N大效率高煞躬。

如果數(shù)據(jù)無法放入內(nèi)存。一方面我們可以考慮上面的字典方法能否被改進(jìn)以適應(yīng)這種情形逸邦,可以做的改變就是將字典存放到硬盤上恩沛,而不是內(nèi)存,這可以參考數(shù)據(jù)庫的存儲(chǔ)方法缕减。

當(dāng) 然還有更好的方法雷客,就是可以采用分布式計(jì)算,基本上就是map-reduce過程桥狡,首先可以根據(jù)數(shù)據(jù)值或者把數(shù)據(jù)hash(md5)后的值搅裙,將數(shù)據(jù)按照范 圍劃分到不同的機(jī)子,最好可以讓數(shù)據(jù)劃分后可以一次讀入內(nèi)存裹芝,這樣不同的機(jī)子負(fù)責(zé)處理各種的數(shù)值范圍部逮,實(shí)際上就是map。得到結(jié)果后嫂易,各個(gè)機(jī)子只需拿出各 自的出現(xiàn)次數(shù)最多的前N個(gè)數(shù)據(jù)兄朋,然后匯總,選出所有的數(shù)據(jù)中出現(xiàn)次數(shù)最多的前N個(gè)數(shù)據(jù)炬搭,這實(shí)際上就是reduce過程蜈漓。


實(shí)際上可能想直 接將數(shù)據(jù)均分到不同的機(jī)子上進(jìn)行處理穆桂,這樣是無法得到正確的解的宫盔。因?yàn)橐粋€(gè)數(shù)據(jù)可能被均分到不同的機(jī)子上融虽,而另一個(gè)則可能完全聚集到一個(gè)機(jī)子上,同時(shí)還可 能存在具有相同數(shù)目的數(shù)據(jù)灼芭。比如我們要找出現(xiàn)次數(shù)最多的前100個(gè)有额,我們將1000萬的數(shù)據(jù)分布到10臺(tái)機(jī)器上,找到每臺(tái)出現(xiàn)次數(shù)最多的前 100個(gè)彼绷,歸并之后這樣不能保證找到真正的第100個(gè)巍佑,因?yàn)楸热绯霈F(xiàn)次數(shù)最多的第100個(gè)可能有1萬個(gè),但是它被分到了10臺(tái)機(jī)子寄悯,這樣在每臺(tái)上只有1千 個(gè)萤衰,假設(shè)這些機(jī)子排名在1000個(gè)之前的那些都是單獨(dú)分布在一臺(tái)機(jī)子上的,比如有1001個(gè)猜旬,這樣本來具有1萬個(gè)的這個(gè)就會(huì)被淘汰脆栋,即使我們讓每臺(tái)機(jī)子選 出出現(xiàn)次數(shù)最多的1000個(gè)再歸并,仍然會(huì)出錯(cuò)洒擦,因?yàn)榭赡艽嬖诖罅總€(gè)數(shù)為1001個(gè)的發(fā)生聚集椿争。因此不能將數(shù)據(jù)隨便均分到不同機(jī)子上,而是要根據(jù)hash 后的值將它們映射到不同的機(jī)子上處理熟嫩,讓不同的機(jī)器處理一個(gè)數(shù)值范圍秦踪。

而外排序的方法會(huì)消耗大量的IO,效率不會(huì)很高掸茅。而上面的分布式方法椅邓,也可以用于單機(jī)版本,也就是將總的數(shù)據(jù)根據(jù)值的范圍昧狮,劃分成多個(gè)不同的子文件景馁,然后逐個(gè)處理。處理完畢之后再對(duì)這些單詞的及其出現(xiàn)頻率進(jìn)行一個(gè)歸并陵且。實(shí)際上就可以利用一個(gè)外排序的歸并過程裁僧。

另外還可以考慮近似計(jì)算,也就是我們可以通過結(jié)合自然語言屬性慕购,只將那些真正實(shí)際中出現(xiàn)最多的那些詞作為一個(gè)字典聊疲,使得這個(gè)規(guī)模可以放入內(nèi)存沪悲。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末获洲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子殿如,更是在濱河造成了極大的恐慌贡珊,老刑警劉巖最爬,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異门岔,居然都是意外死亡爱致,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門寒随,熙熙樓的掌柜王于貴愁眉苦臉地迎上來糠悯,“玉大人,你說我怎么就攤上這事妻往』グ” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵讯泣,是天一觀的道長纫普。 經(jīng)常有香客問我,道長好渠,這世上最難降的妖魔是什么昨稼? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮晦墙,結(jié)果婚禮上悦昵,老公的妹妹穿的比我還像新娘。我一直安慰自己晌畅,他們只是感情好但指,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抗楔,像睡著了一般棋凳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上连躏,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天剩岳,我揣著相機(jī)與錄音,去河邊找鬼入热。 笑死拍棕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的勺良。 我是一名探鬼主播绰播,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼尚困!你這毒婦竟也來了蠢箩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谬泌,沒想到半個(gè)月后滔韵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掌实,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年陪蜻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片潮峦。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡囱皿,死狀恐怖勇婴,靈堂內(nèi)的尸體忽然破棺而出忱嘹,到底是詐尸還是另有隱情,我是刑警寧澤耕渴,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布拘悦,位于F島的核電站,受9級(jí)特大地震影響橱脸,放射性物質(zhì)發(fā)生泄漏础米。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一添诉、第九天 我趴在偏房一處隱蔽的房頂上張望屁桑。 院中可真熱鬧,春花似錦栏赴、人聲如沸蘑斧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽竖瘾。三九已至,卻和暖如春花颗,著一層夾襖步出監(jiān)牢的瞬間捕传,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工扩劝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留庸论,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓棒呛,卻偏偏與公主長得像聂示,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子条霜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

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

  • 下面的方法是我對(duì)海量數(shù)據(jù)的處理方法進(jìn)行了一個(gè)一般性的總結(jié)催什,當(dāng)然這些方法可能并不能完全覆蓋所有的問題,但是這樣的一些...
    零一間閱讀 2,016評(píng)論 0 18
  • 摘要:本文將向您講述諸多數(shù)據(jù)處理面試題以及方法的總結(jié)。 第一部分蒲凶、十道海量數(shù)據(jù)處理面試題 1气筋、海量日志數(shù)據(jù),提取出...
    拾壹北閱讀 1,694評(píng)論 0 28
  • 第一部分旋圆、十道海量數(shù)據(jù)處理面試題 1宠默、海量日志數(shù)據(jù),提取出某日訪問百度次數(shù)最多的那個(gè)IP灵巧。 此題搀矫,在我之前的一篇文...
    零一間閱讀 919評(píng)論 0 5
  • 教你如何迅速秒殺掉:99%的海量數(shù)據(jù)處理面試題 本文經(jīng)過大量細(xì)致的優(yōu)化后,收錄于我的新書《編程之法》第六章中刻肄,新書...
    Helen_Cat閱讀 7,415評(píng)論 1 39
  • 在實(shí)際的工作環(huán)境下瓤球,許多人會(huì)遇到海量數(shù)據(jù)這個(gè)復(fù)雜而艱巨的問題,它的主要難點(diǎn)有以下幾個(gè)方面: 一敏弃、數(shù)據(jù)量過大卦羡,數(shù)據(jù)中...
    零一間閱讀 1,752評(píng)論 0 10