使用apache kafka生成数据并使用spark streaming接收它

时间:2016-04-25 10:32:32

标签: java apache-spark apache-kafka spark-streaming

我想知道如何在同一个程序中使用apache Kafka生成随机数据并使用spark streaming接收它。

让我们展示一个用例:

我想生成像这样的随机数据 - > (A,B,ab @ hotmail.com),而X秒。 然后我希望收到这些数据以便实时处理(当我收到它时),如果第二个参数是B,则发送电子邮件至'ab@hotmail.com'并显示以下消息:“第一个参数是A“。

我知道我必须启动一个zookeeper服务器,然后启动一个kafka代理,然后创建一个主题,然后生成一个生产者并发送这些数据。为了创建kafka和流之间的连接我需要使用“createStream”函数。但我不知道如何使用生产者发送这些数据然后用火花流接收它来处理它。所有这些都在同一个程序中并使用Java。

有任何帮助吗?谢谢。

1 个答案:

答案 0 :(得分:1)

不会有一个程序,而是一个Kafka制作人程序和一个Spark程序。对于两者,有几个在线可用的例子,例如:

要运行此功能,您需要启动Kafka(包括ZK)和Spark群集。之后,你启动写入Kafka的Producer程序和你从Kafka读取的Spark作业(我想启动Producer和Spark作业的顺序应该无关紧要。)