Spark-Stream 区分 Kafka 主题
Spark-Stream Differentiating Kafka Topics
如果我向我的 Spark-Streaming 应用程序提供多个主题,如下所示:
val ssc = new StreamingContext(sc, Seconds(2))
val topics = Set("raw_1", "raw_2)
val kafkaParams = Map("metadata.broker.list" -> "localhost:9092")
val stream = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](ssc, kafkaParams, topics)
当我 运行 我的应用程序时,我如何从我的流中找出它从哪个主题提取的区别?有办法吗?如果我做类似
val lines = stream.print()
我没有得到任何区别。使 Kafka Message Key 成为指示因素的唯一方法是什么?
是的,您可以使用 createDirectStream
的 MessageAndMetadata 版本,它允许您访问消息元数据。
您可以找到示例实现 .
如果我向我的 Spark-Streaming 应用程序提供多个主题,如下所示:
val ssc = new StreamingContext(sc, Seconds(2))
val topics = Set("raw_1", "raw_2)
val kafkaParams = Map("metadata.broker.list" -> "localhost:9092")
val stream = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](ssc, kafkaParams, topics)
当我 运行 我的应用程序时,我如何从我的流中找出它从哪个主题提取的区别?有办法吗?如果我做类似
val lines = stream.print()
我没有得到任何区别。使 Kafka Message Key 成为指示因素的唯一方法是什么?
是的,您可以使用 createDirectStream
的 MessageAndMetadata 版本,它允许您访问消息元数据。
您可以找到示例实现