Apache Samza流處理器

時間:2017-11-23 14:28:30

    Samza依賴Kafka的語義定義流的處理方式。Kafka在處理數據時涉及下列概念:

 

  Topic(話題):進入Kafka系統的每個數據流可稱之為一個話題。話題基本上是一種可供消耗方訂閱的,由相關信息組成的數據流。

  Partition(分區):為了將一個話題分散至多個節點,Kafka會將傳入的消息劃分為多個分區。分區的劃分將基于鍵(Key)進行,這樣可以保證包含同一個鍵的每條消息可以劃分至同一個分區。分區的順序可獲得保證。

  Broker(代理):組成Kafka集群的每個節點也叫做代理。

  Producer(生成方):任何向Kafka話題寫入數據的組件可以叫做生成方。生成方可提供將話題劃分為分區所需的鍵。

  Consumer(消耗方):任何從Kafka讀取話題的組件可叫做消耗方。消耗方需要負責維持有關自己分支的信息,這樣即可在失敗后知道哪些記錄已經被處理過了。

  由于Kafka相當于永恒不變的日志,Samza也需要處理永恒不變的數據流。這意味著任何轉換創建的新數據流都可被其他組件所使用,而不會對最初的數據流產生影響。

? 江苏快3号码表