阅读多个kafka主题引发

问题描述

我使用水槽将数据发布到2个kafka主题,如何在单独的数据框中读取它们?

我使用了2个主题,akr和akr2。我希望他们的数据位于不同的数据框中。

解决方法

根据 Spark + Kafka Integration Guide 并假设您计划使用结构化流处理它们,您可以定义所需的两个数据帧,如下所示:

val df1 = spark
  .readStream
  .format("kafka")
  .option("kafka.bootstrap.servers","host1:port1,host2:port2")
  .option("subscribe","akr")
  .load()
  .selectExpr("CAST(key AS STRING)","CAST(value AS STRING)")

val df2 = spark
  .readStream
  .format("kafka")
  .option("kafka.bootstrap.servers","akr2")
  .load()
  .selectExpr("CAST(key AS STRING)","CAST(value AS STRING)")

只要您在 Dataframes 上有一些 Spark 动作,就会消耗上述两个主题的数据。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...