Apache Samza 系列即時資料流資料處理架構Samza中文教程 (一)-- 介紹

來源:互聯網
上載者:User
What is Samza。

Apache Samza 是一個分布式流處理架構。它使用 Apache Kafka 用於訊息發送,採用 Apache Hadoop YARN 來提供容錯,處理器隔離,安全性和資源管理。專用於即時資料的處理,非常像Twitter的流處理系統Storm。

近日,從Apache官方部落格中得知,開源的分布式流處理架構Samza曆經18個月的孵化期後終於升級成為Apache的頂級項目。Samza由LinkedIn於2013年9月開源並作為孵化項目貢獻給Apache。

Samza非常適用於即時資料流資料處理的業務(如同Apache Storm),如資料跟蹤、Log Service、即時服務等應用,它能夠協助開發人員進行高速訊息處理,同時還具有良好的容錯能力。在Samza流資料處理過程中,每個Kafka叢集都與一個能運行Yarn的叢集相連並處理Samza作業。Samza的一個簡單處理過程如下圖所示:

Samza具有以下特性: 簡單的API:Samza提供了一個簡單基於回調且相容MapReduce的訊息處理API 狀態管理:Samza提供了一個基於LevelDB的Key/Value資料庫來儲存曆史資料,從而實現了有狀態的訊息管理 容錯處理:每當叢集中的一台機器發生故障時,YARN將會透明地將相關任務遷移到其他機器上 持久性:Samza使用Kafka保證訊息的有序處理,並能夠持久化到分區,不存在發生訊息的丟失的可能 可擴充性:Samza在每個層結構都是可分區和分布式的,Kafka提供了有序、可分區、可追加、容錯的流;YARN提供了一個分布式、供Samza啟動並執行容器環境。 可插拔/開箱即用:Samza提供了一個可插拔特性的API,該API使得Samza不僅能夠使用Kafka和YARN,還能夠使用其他的訊息系統和執行環境。 資源隔離:通過使用YARN實現了對Hadoop安全模型和資源隔離的支援 官方樣本

下圖是Samza官方給的一例子,根據Member ID分組,計算頁面訪問次數。入口訊息分別來自Machine1、2,出口是Machine3,我們可以這樣理解,訊息分散在不同的訊息系統中(Kafka),Samza從不同的Kafka中讀取topic,在將topic進行處理後,發送到Machine3,這裡不做過多分解,具體可以參照官方文檔。


匯出樣本項目hello samza嘗試使用samza,閱讀背景頁面瞭解關於更多關於samza的資訊。
官網連結:http://samza.apache.org/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.