一个主题中多个分区的spark结构化流媒体

vdzxcuhz  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(316)

我们如何在spark结构化流中为多个分区构造json。下面的例子,我贴在这里只有一个分区。谢谢你的帮助。

spark.readStream().format("kafka")
        .option("kafka.bootstrap.servers", "****")
        .option("subscribePattern", "****.*")
        .option("startingOffsets", "{\"Topic01\": {\"0\":250, \"1\": -1}}").load();
8mmmxcuj

8mmmxcuj1#

您可以使用您喜爱的json库来创建字符串。下面是一个json4s的例子:

scala> import org.json4s.jackson.Serialization
import org.json4s.jackson.Serialization

scala> import org.json4s.NoTypeHints
import org.json4s.NoTypeHints

scala> implicit val formats = Serialization.formats(NoTypeHints)
formats: org.json4s.Formats{val dateFormat: org.json4s.DateFormat; val typeHints: org.json4s.TypeHints} = org.json4s.Serialization$$anon$1@7c206b14

scala> val offsets = Map("topic1" -> Map("0" -> 1, "1" -> -1, "2" -> -2), "topic2" -> Map("0" -> 0, "1" -> -1))
offsets: scala.collection.immutable.Map[String,scala.collection.immutable.Map[String,Int]] = Map(topic1 -> Map(0 -> 1, 1 -> -1, 2 -> -2), topic2 -> Map(0 -> 0, 1 -> -1))

scala> Serialization.write(offsets)
res0: String = {"topic1":{"0":1,"1":-1,"2":-2},"topic2":{"0":0,"1":-1}}

相关问题