手機app數據採集軟體推薦:淘寶採集軟體哪個好用

大數據的來源多種多樣,在大數據時代背景下,如何從大數據中採集出有用的信息是大數據發展的最關鍵因素。大數據採集是大數據產業的基石,大數據採集階段的工作是大數據的核心技術之一。為了高效採集大數據,依據採集環境及數據類型選擇適當的大數據採集方法及平台至關重要。下面介紹一些常用的大數據採集平台和工具。

1 Flume

Flume作為Hadoop的組件,是由Cloudera專門研發的分散式日誌收集系統。尤其近幾年隨著Flume的不斷完善,用戶在開發過程中使用的便利性得到很大的改善,Flume現已成為Apache Top項目之一。

Flume提供了從Console(控制台)、RPC(Thrift-RPC)、Text(文件)、Tail(UNIX Tail)、Syslog、Exec(命令執行)等數據源上收集數據的能力。

Flume採用了多Master的方式。為了保證配置數據的一致性,Flume引入了ZooKeeper,用於保存配置數據。ZooKeeper本身可保證配置數據的一致性和高可用性。另外,在配置數據發生變化時,ZooKeeper可以通知Flume Master節點。Flume Master節點之間使用Gossip協議同步數據。

Flume針對特殊場景也具備良好的自定義擴展能力,因此Flume適用於大部分的日常數據採集場景。因為Flume使用JRuby來構建,所以依賴Java運行環境。Flume設計成一個分散式的管道架構,可以看成在數據源和目的地之間有一個Agent的網路,支持數據路由。

Flume支持設置Sink的Failover和載入平衡,這樣就可以保證在有一個Agent失效的情況下,整個系統仍能正常收集數據。Flume中傳輸的內容定義為事件(Event),事件由Headers(包含元數據,即Meta Data)和Payload組成。

Flume提供SDK,可以支持用戶定製開發。Flume客戶端負責在事件產生的源頭把事件發送給Flume的Agent。客戶端通常和產生數據源的應用在同一個進程空間。常見的Flume 客戶端有Avro、Log4J、Syslog和HTTP Post。

2 Fluentd

Fluentd是另一個開源的數據收集架構,如圖1所示。Fluentd使用C/Ruby開發,使用JSON文件來統一日誌數據。通過豐富的插件,可以收集來自各種系統或應用的日誌,然後根據用戶定義將日誌做分類處理。通過Fluentd,可以非常輕易地實現像追蹤日誌文件並將其過濾後轉存到 MongoDB 這樣的操作。Fluentd可以徹底地把人從繁瑣的日誌處理中解放出來。

常用的大數據採集工具,你不可不知

圖1 Fluentd架構

Fluentd具有多個功能特點:安裝方便、佔用空間小、半結構化數據日誌記錄、靈活的插件機制、可靠的緩衝、日誌轉發。Treasure Data公司對該產品提供支持和維護。另外,採用JSON統一數據/日誌格式是它的另一個特點。相對Flume,Fluentd配置也相對簡單一些。

Fluentd的擴展性非常好,客戶可以自己定製(Ruby)Input/Buffer/Output。Fluentd具有跨平台的問題,並不支持Windows平台。

Fluentd的Input/Buffer/Output非常類似於Flume的Source/Channel/Sink。Fluentd架構如圖2所示。

常用的大數據採集工具,你不可不知

圖2 Fluentd架構

3 Logstash

Logstash是著名的開源數據棧ELK(ElasticSearch,Logstash,Kibana)中的那個L。因為Logstash用JRuby開發,所以運行時依賴JVM。Logstash的部署架構如圖3所示,當然這只是一種部署的選項。

常用的大數據採集工具,你不可不知

圖3 Logstash的部署架構

一個典型的Logstash的配置如下,包括Input、Filter的Output的設置。

input {

file {

type =>”Apache-access”

path =>”/var/log/Apache2/other_vhosts_access.log”

}

file {

type =>”pache-error”

path =>”/var/log/Apache2/error.log”

}

}

filter {

grok {

match => {“message”=>”%(COMBINEDApacheLOG)”}

}

date {

match => {“timestamp”=>”dd/MMM/yyyy:HH:mm:ss Z”}

}

}

output {

stdout {}

Redis {

host=>”192.168.1.289″

data_type => “list”

key => “Logstash”

}

}

幾乎在大部分的情況下,ELK作為一個棧是被同時使用的。在你的數據系統使用ElasticSearch的情況下,Logstash是首選。

4 Chukwa

Chukwa是Apache旗下另一個開源的數據收集平台,它遠沒有其他幾個有名。Chukwa基於Hadoop的HDFS和MapReduce來構建(用Java來實現),提供擴展性和可靠性。它提供了很多模塊以支持Hadoop集群日誌分析。Chukwa同時提供對數據的展示、分析和監視。該項目目前已經不活躍。

Chukwa適應以下需求:

(1)靈活的、動態可控的數據源。

(2)高性能、高可擴展的存儲系統。

(3)合適的架構,用於對收集到的大規模數據進行分析。

Chukwa架構如圖4所示。

常用的大數據採集工具,你不可不知

圖4 Chukwa架構

5 Scribe

Scribe是Facebook開發的數據(日誌)收集系統。其官網已經多年不維護。Scribe為日誌的「分散式收集,統一處理」提供了一個可擴展的,高容錯的方案。當中央存儲系統的網路或者機器出現故障時,Scribe會將日誌轉存到本地或者另一個位置;當中央存儲系統恢復後,Scribe會將轉存的日誌重新傳輸給中央存儲系統。Scribe通常與Hadoop結合使用,用於向HDFS中push(推)日誌,而Hadoop通過MapReduce作業進行定期處理。

Scribe架構如圖5所示。

常用的大數據採集工具,你不可不知

圖5 Scribe架構

Scribe架構比較簡單,主要包括三部分,分別為Scribe agent、Scribe和存儲系統。

6 Splunk

在商業化的大數據平台產品中,Splunk提供完整的數據採集、數據存儲、數據分析和處理,以及數據展現的能力。Splunk是一個分散式機器數據平台,主要有三個角色。Splunk架構如圖6所示。

常用的大數據採集工具,你不可不知

圖6 Splunk架構

Search:負責數據的搜索和處理,提供搜索時的信息抽取功能。

Indexer:負責數據的存儲和索引。

Forwarder:負責數據的收集、清洗、變形,並發送給Indexer。

Splunk內置了對Syslog、TCP/UDP、Spooling的支持,同時,用戶可以通過開發 Input和Modular Input的方式來獲取特定的數據。在Splunk提供的軟體倉庫里有很多成熟的數據採集應用,如AWS、資料庫(DBConnect)等,可以方便地從雲或資料庫中獲取數據進入Splunk的數據平台做分析。

Search Head和Indexer都支持Cluster的配置,即高可用、高擴展的、但Splunk現在還沒有針對Forwarder的Cluster的功能。也就是說,如果有一台Forwarder的機器出了故障,則數據收集也會隨之中斷,並不能把正在運行的數據收集任務因故障切換(Failover)到其他的Forwarder上。

7 Scrapy

Python的爬蟲架構叫Scrapy。Scrapy是由Python語言開發的一個快速、高層次的屏幕抓取和Web抓取架構,用於抓取Web站點並從頁面中提取結構化數據。Scrapy的用途廣泛,可以用於數據挖掘、監測和自動化測試。

Scrapy吸引人的地方在於它是一個架構,任何人都可以根據需求方便地進行修改。它還提供多種類型爬蟲的基類,如BaseSpider、Sitemap爬蟲等,最新版本提供對Web 2.0爬蟲的支持。

Scrapy運行原理如圖7所示。

常用的大數據採集工具,你不可不知

圖7 Scrapy運行原理

Scrapy的整個數據處理流程由Scrapy引擎進行控制。Scrapy運行流程如下:

(1)Scrapy引擎打開一個域名時,爬蟲處理這個域名,並讓爬蟲獲取第一個爬取的URL。

(2)Scrapy引擎先從爬蟲那獲取第一個需要爬取的URL,然後作為請求在調度中進行調度。

(3)Scrapy引擎從調度那裡獲取接下來進行爬取的頁面。

(4)調度將下一個爬取的URL返回給引擎,引擎將它們通過下載中間件發送到下載器。

(5)當網頁被下載器下載完成以後,響應內容通過下載器中間件被發送到Scrapy引擎。

(6)Scrapy引擎收到下載器的響應並將它通過爬蟲中間件發送到爬蟲進行處理。

(7)爬蟲處理響應並返回爬取到的項目,然後給Scrapy引擎發送新的請求。

(8)Scrapy引擎將抓取到的放入項目管道,並向調度器發送請求。

(9)系統重複第(2)步後面的操作,直到調度器中沒有請求,然後斷開Scrapy引擎與域之間的聯繫。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/226002.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 14:47
下一篇 2024-12-09 14:47

相關推薦

發表回復

登錄後才能評論