數(shù)據(jù)挖掘?qū)嵗?00美元挖來無價之寶
本文作者講述了他們作為獨立工程師開展數(shù)據(jù)挖掘項目的過程,告訴我們運用各種免費或開源工具挖掘數(shù)據(jù)的成本很低,同時降低了我們想象中的難度,探索精神值得我們學(xué)習(xí)。
今天各種強(qiáng)大的數(shù)據(jù)分析工具讓我們有能力分析以前想都不敢想的大企業(yè)或者大機(jī)構(gòu)的數(shù)據(jù)。
幾周前,我們?yōu)長ucky Oyster執(zhí)行原型技術(shù)搜索任務(wù),當(dāng)時有幸利用一些簡單的組件,Common Crawl Data, AWS S3 , 幾百行Ruby代碼和各種開源軟件。 當(dāng)時的感覺就像在34億Web 網(wǎng)頁里面挖金礦、提取結(jié)構(gòu)化的數(shù)據(jù)字節(jié)然后為近4億實體內(nèi)容提供搜索索引。費用是多少?100美元,14小時內(nèi)完成的。
之前在檢驗Facebook的硬編碼的長度和開放圖譜tags的時候,發(fā)現(xiàn)Facebook在更廣泛的網(wǎng)絡(luò)里有著深遠(yuǎn)影響: 22%的網(wǎng)頁對Facebook進(jìn)行了硬編碼引用,另外8%網(wǎng)頁的集合了開放圖譜。
在對結(jié)構(gòu)化數(shù)據(jù)進(jìn)行擴(kuò)散的時候,我們發(fā)現(xiàn)Web搜索(Google和Bing)和社交網(wǎng)絡(luò)之間的戰(zhàn)爭,實際上是就是內(nèi)容本身可見性和所有權(quán)之間的較量。通常我們認(rèn)為,像Facebook這樣的網(wǎng)頁不會指向額外的社會數(shù)據(jù),但事實上情況是相反的,社交圖譜擁有更多有用的內(nèi)容和元數(shù)據(jù)指向更廣的網(wǎng)絡(luò),而且這些高度結(jié)構(gòu)化的、社交化的內(nèi)容也是增長最快的,不管是在Web還是社交圖譜上。
在Lucky Oyster里,每項工作都有具體的矢量,這樣就能創(chuàng)建產(chǎn)品幫助人們辨別、分享、學(xué)習(xí)、發(fā)現(xiàn)網(wǎng)絡(luò)世界的好東西,包括奔跑地、食譜、登山地、景點,旨在讓生活因為網(wǎng)絡(luò)發(fā)現(xiàn)而奇妙。
工作流程:
Lucky Oyster的工作流程非常簡單,n個工人、啟動任務(wù)欄、提取數(shù)據(jù)后統(tǒng)計到一個主數(shù)據(jù)收集中心。它使用的工具如下:
Common Crawl Data: 現(xiàn)成的數(shù)據(jù)集是基于2012年網(wǎng)絡(luò)抓取,由70萬個網(wǎng)絡(luò)ARC文件組成,每個文件壓縮了100M的網(wǎng)絡(luò)抓取網(wǎng)頁,約合34億記錄。這個可以說是最大的網(wǎng)絡(luò)爬行工具了,而且免費。
AWS S3:Amazon Web Seivices 能很快地把抓取的資料在S3上當(dāng)做公共數(shù)據(jù)處理,例如AWS的fabric就能輕松訪問ARC文件,無需支付數(shù)據(jù)轉(zhuǎn)換費用。
AWS Spot Instances:用Common Crawl Data處理10億條URLs, 需要450美元,但是用 Spot Instances,以處理High-CPU Medium Instance 為例,每小時0.018美元,這為處理Spots省下了不少錢。
Master Queue,一個內(nèi)存隊列處理通常需要10倍的工作人數(shù)還不夠,但是beanstalkd安裝能夠在30秒內(nèi)整合,而且可以以30多種語言顯示出來。
Worker Nodes(工作節(jié)點):在啟動時,每一個工作節(jié)點會運行兩個相同的流程。每個流程通過主隊列、下載和緩沖解壓縮導(dǎo)向AWS S3,然后輔助解析ARC文件和爬行記錄,而且解析ARC文件的速度也很快,只要電腦CPU不是太差。
Master Data Collection Service(主數(shù)據(jù)收集中心),一個非常簡單的服務(wù)區(qū),接受GET和POST請求。分析出來的數(shù)據(jù)會追加到指定的本地文件夾供以后分析(求和,平均值,減少了密鑰和/或值,索引等)。
接下來:
在這上面的工作完成之后,我們還會進(jìn)行剔除、分析和平行地索引操作,然后把結(jié)果結(jié)交到一個集群運行的Solr/Lucene。
剛開始我們做這個工作只是為了好奇,但后來整個過程已經(jīng)成為了 Lucky Oyster的核心,但分享的初衷一直沒有變,很多人都在講處理大數(shù)據(jù)、挖數(shù)據(jù),那就從身邊做起吧,試試把你的目光放在30億網(wǎng)絡(luò)文件上,花半天時間、100美元分析好它,感受你分析出來的數(shù)據(jù)結(jié)果。