1. 程式人生 > >一篇文章讓你瞭解大資料採集技術

一篇文章讓你瞭解大資料採集技術

大資料開啟了一個大規模生產、分享和應用資料的時代,它給技術和商業帶來了巨大的變化。麥肯錫研究表明,在醫療、零售和製造業領域,大資料每年可以提高勞動生產率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檔案來統一日誌資料。它的可插拔架構,支援各種不同種類和格式的資料來源和資料輸出。最後它也同時提供了高可靠和很好的擴充套件性。Treasure Data, Inc 對該產品提供支援和維護。

  

3)Logstash

  

Logstash是著名的開源資料棧ELK (ElasticSearch, Logstash, Kibana)中的那個L。Logstash用JRuby開發,所有執行時依賴JVM。

  

4)Splunk Forwarder

  

Splunk是一個分散式的機器資料平臺,主要有三個角色:Search Head負責資料的搜尋和處理,提供搜尋時的資訊抽取;Indexer負責資料的儲存和索引;Forwarder,負責資料的收集,清洗,變形,併發送給Indexer

很多初學者,對大資料的概念都是模糊不清的,大資料是什麼,能做什麼,學的時候,該按照什麼線路去學習,學完往哪方面發展,想深入瞭解,想學習的同學歡迎加入大資料學習扣群:805127855,有大量乾貨(零基礎以及進階的經典實戰)分享給大家,並且有清華大學畢業的資深大資料講師給大家免費授課,給大家分享目前國內最完整的大資料高階實戰實用學習流程體系