Структурированная потоковая передача Spark для нескольких разделов в теме

Как мы структурируем JSON для нескольких разделов в структурированной потоковой передаче Spark. Приведенный ниже пример, который я вставил сюда только для одного раздела. Ценю вашу помощь.

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

person Ansip    schedule 19.05.2017    source источник


Ответы (1)


Вы можете использовать свою любимую библиотеку 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}} 
person zsxwing    schedule 23.05.2017