使用 apache kafka 生成数据并使用 spark streaming 接收数据
Generate data with apache kafka and receive it using spark streaming
我想知道如何在同一个程序中使用 apache Kafka 生成随机数据并使用 spark streaming 接收它。
让我们展示一个用例:
我想像这样生成随机数据 -> (A, B, ab@hotmail.com),同时 X 秒。
然后我想实时接收这个数据来处理它(当我接收它时),如果第二个参数是 B 发送一封电子邮件到 'ab@hotmail.com' 并包含以下消息:"The first parameter is A"。
我知道我必须启动一个 zookeeper 服务器,然后启动一个 kafka 代理,然后创建一个主题,然后是一个生产者来生产和发送这些数据。为了在 kafka 和流媒体之间创建连接,我需要使用 "createStream" 函数。但我不知道如何使用生产者发送这些数据,然后用 spark streaming 接收它来处理它。所有这些都在同一个程序中并使用 Java.
有什么帮助吗?谢谢你。
不会有一个单一的程序,而是一个Kafka生产者程序和一个Spark程序。对于这两者,有几个在线示例,例如:
- 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 的 Producer 程序和从 Kafka 读取的 Spark 作业(我想启动 Producer 和 Spark 作业的顺序应该无关紧要)。
我想知道如何在同一个程序中使用 apache Kafka 生成随机数据并使用 spark streaming 接收它。
让我们展示一个用例:
我想像这样生成随机数据 -> (A, B, ab@hotmail.com),同时 X 秒。 然后我想实时接收这个数据来处理它(当我接收它时),如果第二个参数是 B 发送一封电子邮件到 'ab@hotmail.com' 并包含以下消息:"The first parameter is A"。
我知道我必须启动一个 zookeeper 服务器,然后启动一个 kafka 代理,然后创建一个主题,然后是一个生产者来生产和发送这些数据。为了在 kafka 和流媒体之间创建连接,我需要使用 "createStream" 函数。但我不知道如何使用生产者发送这些数据,然后用 spark streaming 接收它来处理它。所有这些都在同一个程序中并使用 Java.
有什么帮助吗?谢谢你。
不会有一个单一的程序,而是一个Kafka生产者程序和一个Spark程序。对于这两者,有几个在线示例,例如:
- 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 的 Producer 程序和从 Kafka 读取的 Spark 作业(我想启动 Producer 和 Spark 作业的顺序应该无关紧要)。