大數據開啟了一個大規模生產、分享和應用數據的時代,它給技術和商業帶來了巨大的變化。麥肯錫研究表明,在醫療、零售和製造業領域,大數據每年可以提高勞動生產率0.5-1個百分點。大數據在核心領域的滲透速度有目共睹,然而調查顯示,未被使用的信息比例高達99.4%,很大程度都是由於高價值的信息無法獲取採集。因此在大數據時代背景下,如何從大數據中採集出有用的信息已經是大數據發展的關鍵因素之一,那麼什麼是大數據採集技術呢?本期就為大家介紹大數據採集技術,讓大家輕鬆了解大數據採集。
▌什麼是數據採集?
?數據採集(DAQ),又稱數據獲取,是指從傳感器和其它待測設備等模擬和數字被測單元中自動採集信息的過程。數據分類新一代數據體系中,將傳統數據體系中沒有考慮過的新數據源進行歸納與分類,可將其分為線上行為數據與內容數據兩大類。
?線上行為數據:頁面數據、交互數據、表單數據、會話數據等。
?內容數據:應用日誌、電子文檔、機器數據、語音數據、社交媒體數據等。
?大數據的主要來源:1)商業數據 2)網際網路數據 3)傳感器數據
▌數據採集與大數據採集區別
▌傳統數據採集的不足
傳統的數據採集來源單一,且存儲、管理和分析數據量也相對較小,大多採用關係型資料庫和並行數據倉庫即可處理。對依靠並行計算提升數據處理速度方面而言,傳統的並行資料庫技術追求高度一致性和容錯性,根據CAP理論,難以保證其可用性和擴展性。
▌大數據採集新的方法
?系統日誌採集方法
很多網際網路企業都有自己的海量數據採集工具,多用於系統日誌採集,如Hadoop的Chukwa,Cloudera的Flume,Facebook的Scribe等,這些工具均採用分布式架構,能滿足每秒數百MB的日誌數據採集和傳輸需求。
?網絡數據採集方法
網絡數據採集是指通過網絡爬蟲或網站公開API等方式從網站上獲取數據信息。該方法可以將非結構化數據從網頁中抽取出來,將其存儲為統一的本地數據文件,並以結構化的方式存儲。它支持圖片、音頻、視頻等文件或附件的採集,附件與正文可以自動關聯。除了網絡中包含的內容之外,對於網絡流量的採集可以使用DPI或DFI等帶寬管理技術進行處理。
?其他數據採集方法
對於企業生產經營數據或學科研究數據等保密性要求較高的數據,可以通過與企業或研究機構合作,使用特定系統接口等相關方式採集數據。
▌大數據採集平臺
最後,再為大家介紹幾款應用廣泛的大數據採集平臺,供大家參考使用。
1)Apache Flume
Flume 是Apache旗下的一款開源、高可靠、高擴展、容易管理、支持客戶擴展的數據採集系統。Flume使用JRuby來構建,所以依賴Java運行環境。
2)Fluentd
Fluentd是另一個開源的數據收集框架。Fluentd使用C/Ruby開發,使用JSON文件來統一日誌數據。它的可插拔架構,支持各種不同種類和格式的數據源和數據輸出。最後它也同時提供了高可靠和很好的擴展性。TreasureData, Inc 對該產品提供支持和維護。
3)Logstash
Logstash是著名的開源數據棧ELK (ElasticSearch, Logstash,Kibana)中的那個L。Logstash用JRuby開發,所有運行時依賴JVM。
4)Splunk Forwarder
Splunk是一個分布式的機器數據平臺,主要有三個角色:SearchHead負責數據的搜索和處理,提供搜索時的信息抽取;Indexer負責數據的存儲和索引;Forwarder,負責數據的收集,清洗,變形,並發送給Indexer。
1