我想知道如何在同一个程序中使用apachekafka生成随机数据,并使用spark流接收数据。
让我们展示一个用例:
我想生成这样的随机数据->(a,b,ab@hotmail.com)而x秒。然后我想接收这个数据,以便实时处理它(当我接收它时),如果第二个参数是b,则发送一封电子邮件给'ab@hotmail.com'并显示以下消息:“第一个参数是”。
我知道我必须启动一个zookeeper服务器,然后启动一个kafka代理,然后创建一个主题,然后创建一个producer来生成和发送这些数据。为了创建Kafka和流媒体之间的连接,我需要使用“createstream”函数。但我不知道如何使用生产者发送这些数据,然后接收它与Spark流处理它。所有这些都在同一个程序中使用java。
有什么帮助吗?谢谢您。
1条答案
按热度按时间v1l68za41#
不会有一个单独的节目,而是Kafka制作人节目和星火节目。对于这两种情况,网上都有几个例子,例如:
https://github.com/apache/kafka/blob/trunk/examples/src/main/java/kafka/examples/producer.java
https://spark.apache.org/docs/latest/streaming-kafka-integration.html
要运行它,您需要启动kafka(包括zk)和您的spark集群。之后,你开始你的制片人程序,写进Kafka和你的Spark工作,读Kafka(我猜顺序启动生产者和Spark工作应该不重要)。