【導讀】數據採集是進行大數據分析的前提也是必要條件,在整個流程中佔據重要地位。本文將介紹大數據三種採集形式:系統日誌採集法、網絡數據採集法以及其餘數據採集法。算法
(一)系統日誌採集法安全
系統日誌是記錄系統中硬件、軟件和系統問題的信息,同時還能夠監視系統中發生的事件。用戶能夠經過它來檢查錯誤發生的緣由,或者尋找受到攻擊時攻擊者留下的痕跡。系統日誌包括系統日誌、應用程序日誌和安全日誌。(百度百科)大數據平臺或者說相似於開源Hadoop平臺會產生大量高價值系統日誌信息,如何採集成爲研究者研究熱點。目前基於Hadoop平臺開發的Chukwa、Cloudera的Flume以及Facebook的Scribe(李聯寧,2016)都可成爲是系統日誌採集法的典範。目前此類的採集技術大約能夠每秒傳輸數百MB的日誌數據信息,知足了目前人們對信息速度的需求。通常而言與咱們相關的並非此類採集法,而是網絡數據採集法。網絡
在這裏仍是要推薦下我本身建的大數據學習交流羣:529867072,羣裏都是學大數據開發的,若是你正在學習大數據 ,小編歡迎你加入,你們都是軟件開發黨,不按期分享乾貨(只有大數據軟件開發相關的),包括我本身整理的一份最新的大數據進階資料和高級開發教程,歡迎進階中和進想深刻大數據的小夥伴加入。多線程
(二)網絡數據採集法oop
作天然語言的同窗可能對這點感觸頗深,除了目前已經存在的公開數據集,用於平常的算法研究外,有時爲了知足項目的實際需求,須要對現實網頁中的數據進行採集,預處理和保存。目前網絡數據採集有兩種方法一種是API,另外一種是網絡爬蟲法。學習
1.API大數據
API又叫應用程序接口,是網站的管理者爲了使用者方面,編寫的一種程序接口。該類接口能夠屏蔽網站底層複雜算法僅僅經過簡簡單單調用便可實現對數據的請求功能。目前主流的社交媒體平臺如新浪微博、百度貼吧以及Facebook等均提供API服務,能夠在其官網開放平臺上獲取相關DEMO。可是API技術畢竟受限於平臺開發者,爲了減少網站(平臺)的負荷,通常平臺均會對天天接口調用上限作限制,這給咱們帶來極大的不便利。爲此咱們一般採用第二種方式——網絡爬蟲。網站
2.網絡爬蟲搜索引擎
網絡爬蟲(又被稱爲網頁蜘蛛,網絡機器人,在FOFA社區中間,更常常的稱爲網頁追逐者),是一種按照必定的規則,自動地抓取萬維網信息的程序或者腳本。另一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。(百度百科)最多見的爬蟲即是咱們常用的搜索引擎,如百度,360搜索等。此類爬蟲統稱爲通用型爬蟲,對於全部的網頁進行無條件採集。通用型爬蟲具體工做原理見圖1。 線程
圖1 爬蟲工做原理[2]
給予爬蟲初始URL,爬蟲將網頁中所須要提取的資源進行提取並保存,同時提取出網站中存在的其餘網站連接,通過發送請求,接收網站響應以及再次解析頁面,提取所需資源並保存,再將網頁中所需資源進行提取......以此類推,實現過程並不複雜,可是在採集時尤爲注意對IP地址,報頭的僞造,以避免被網管發現禁封IP(我就被封過),禁封IP也就意味着整個採集任務的失敗。固然爲了知足更多需求,多線程爬蟲,主題爬蟲也應運而生。多線程爬蟲是經過多個線程,同時執行採集任務,通常而言幾個線程,數據採集數據就會提高几倍。主題爬蟲和通用型爬蟲截然相反,經過必定的策略將於主題(採集任務)無關的網頁信息過濾,僅僅留下須要的數據。此舉能夠大幅度減小無關數據致使的數據稀疏問題。
(三)其餘採集法
其餘採集法是指對於科研院所,企業政府等擁有機密信息,如何保證數據的安全傳遞?能夠採用系統特定端口,進行數據傳輸任務,從而減小數據被泄露的風險。
【結語】大數據採集技術是大數據技術的開端,好的開端是成功的一半,所以在作數據採集時必定要謹慎選擇方法,尤爲是爬蟲技術,主題爬蟲應該是對於大部分數據採集任務而言是較好的方法,能夠深刻研究。