2016-04-25 74 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

好吧,我会尝试。我现在唯一需要的是知道如何处理通过流发送收到的数据来发送电子邮件,我没有找到类似的例子。 –