大資料技術之資料採集篇

大資料學習發表於2019-06-19

【導讀】資料採集是進行大資料分析的前提也是必要條件,在整個流程中佔據重要地位。本文將介紹大資料三種採集形式: 系統日誌採集法 網路資料採集法 以及 其他資料採集法

(一)系統日誌採集法

系統日誌是記錄系統中硬體、軟體和系統問題的資訊,同時還可以監視系統中發生的事件。使用者可以透過它來檢查錯誤發生的原因,或者尋找受到攻擊時攻擊者留下的痕跡。系統日誌包括系統日誌、應用程式日誌和安全日誌。(百度百科)大資料平臺或者說類似於開源Hadoop平臺會產生大量高價值系統日誌資訊,如何採整合為研究者研究熱點。目前基於Hadoop平臺開發的Chukwa、Cloudera的Flume以及Facebook的Scribe(李聯寧,2016)均可成為是系統日誌採集法的典範。目前此類的採集技術大約可以每秒傳輸數百MB的日誌資料資訊,滿足了目前人們對資訊速度的需求。一般而言與我們相關的並不是此類採集法,而是網路資料採集法。

大資料技術之資料採集篇

在這裡還是要推薦下我自己建的大資料學習交流群:529867072,群裡都是學大資料開發的,如果你正在學大資料 ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有大資料軟體開發相關的),包括我自己整理的一份最新的大資料進階資料和高階開發教程,歡迎進階中和進想深入大資料的小夥伴加入。

(二)網路資料採集法

做自然語言的同學可能對這點感觸頗深,除了目前已經存在的公開資料集,用於日常的演算法研究外,有時為了滿足專案的實際需求,需要對現實網頁中的資料進行採集,預處理和儲存。目前網路資料採集有兩種方法一種是API,另一種是網路爬蟲法。

1.API

API又叫應用程式介面,是網站的管理者為了使用者方面,編寫的一種程式介面。該類介面可以遮蔽網站底層複雜演算法僅僅透過簡簡單單呼叫即可實現對資料的請求功能。目前主流的社交媒體平臺如新浪微博、百度貼吧以及Facebook等均提供API服務,可以在其官網開放平臺上獲取相關DEMO。但是API技術畢竟受限於平臺開發者,為了減小網站(平臺)的負荷,一般平臺均會對每天介面呼叫上限做限制,這給我們帶來極大的不便利。為此我們通常採用第二種方式——網路爬蟲。

2.網路爬蟲

網路爬蟲(又被稱為網頁蜘蛛,網路機器人,在FOFA社群中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取全球資訊網資訊的程式或者指令碼。另外一些不常使用的名字還有螞蟻、自動索引、模擬程式或者蠕蟲。(百度百科)最常見的爬蟲便是我們經常使用的搜尋引擎,如百度,360搜尋等。此類爬蟲統稱為通用型爬蟲,對於所有的網頁進行無條件採集。通用型爬蟲具體工作原理見圖1。

大資料技術之資料採集篇

圖1  爬蟲工作原理[2]

給予爬蟲初始URL,爬蟲將網頁中所需要提取的資源進行提取並儲存,同時提取出網站中存在的其他網站連結,經過傳送請求,接收網站響應以及再次解析頁面,提取所需資源並儲存,再將網頁中所需資源進行提取......以此類推,實現過程並不複雜,但是在採集時尤其注意對IP地址,報頭的偽造,以免被網管發現禁封IP(我就被封過),禁封IP也就意味著整個採集任務的失敗。當然為了滿足更多需求,多執行緒爬蟲,主題爬蟲也應運而生。多執行緒爬蟲是透過多個執行緒,同時執行採集任務,一般而言幾個執行緒,資料採集資料就會提升幾倍。主題爬蟲和通用型爬蟲截然相反,透過一定的策略將於主題(採集任務)無關的網頁資訊過濾,僅僅留下需要的資料。此舉可以大幅度減少無關資料導致的資料稀疏問題。

(三)其他採集法

其他採集法是指對於科研院所,企業政府等擁有機密資訊,如何保證資料的安全傳遞?可以採用系統特定埠,進行資料傳輸任務,從而減少資料被洩露的風險。

【結語】大資料採集技術是大資料技術的開端,好的開端是成功的一半,因此在做資料採集時一定要謹慎選擇方法,尤其是爬蟲技術,主題爬蟲應該是對於大部分資料採集任務而言是較好的方法,可以深入研究。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917001/viewspace-2648074/,如需轉載,請註明出處,否則將追究法律責任。

相關文章