2016-04-25 64 views
0

我想知道如何在同一個程序中使用apache Kafka生成隨機數據並使用火花流接收它。使用apache kafka生成數據並使用火花流接收它

讓我們顯示一個使用案例:

我想產生這樣的隨機數據 - >(A,B,[email protected]),而X秒。 然後我想要接收這些數據以實時處理它(當我收到它時),並且如果第二個參數是B,則發送一封電子郵件到'[email protected]'並顯示以下消息:「第一個參數是A「。

我知道我必須啓動一個zookeeper服務器,然後啓動一個kafka代理,然後創建一個主題,然後生成一個生產者併發送這些數據。爲了創建kafka和流之間的連接,我需要使用「createStream」函數。但我不知道如何使用生產者發送這些數據,然後用火花流接收它來處理它。所有這些都在同一個程序中並使用Java。

任何幫助?謝謝。

+0

google for「kafka producer java example」。那麼讓我們知道你是否有一些具體問題。 – maasg

+0

我會給你寫和我對Matthias J. Sax所說的一樣。現在我有一個用於生成數據鏈接的生成器程序,裏面添加了消息(A,B,[email protected])。我在這裏有Spark程序的鏈接,裏面我想讀取數據並處理它發送電子郵件,如果第二個參數是B.我不是很熟悉這個,但我正在嘗試它。現在爲了測試這個,我必須啓動kafka(包括zk),並且我應該需要一個文件(主類),它啓動生產者程序寫入kafka的權利?對於火花我只需要提交程序吧?謝謝! –

回答

1

不會有一個程序,而是一個Kafka生產者程序和一個Spark程序。在這兩方面,有幾個例子可以在網上,例如:

要運行這個,你開始卡夫卡(包括ZK)和你的星火集羣。之後,你開始寫入Kafka的生產者程序和你從Kafka讀取的Spark作業(我猜啓動Producer和Spark作業的順序應該不重要)。

+0

好的,謝謝。現在我有一個生成程序來生成數據[鏈接](http://pastebin.com/6akCmvBh),裏面我添加了消息(A,B,[email protected])。我在這裏有火花程序[鏈接](http://pastebin.com/jadMReE9),裏面我想讀取數據並處理它發送電子郵件,如果第二個參數是B.我不是很熟悉這個,但我正在嘗試。現在爲了測試這個,我必須啓動kafka(包括zk),並且我應該需要一個文件(主類),它啓動生產者程序寫入kafka的權利?對於火花我只需要提交程序吧?謝謝。 –

+0

我沒有看你的代碼,但是你寫的是正確的。 –

+0

好吧,我會嘗試。我現在唯一需要的是知道如何處理通過流發送收到的數據來發送電子郵件,我沒有找到類似的例子。 –