Как преобразовать потоковый набор данных [String] в DataFrame [Row] - PullRequest
0 голосов
/ 28 июня 2018

у меня сообщения нестандартного формата кафки поэтому код выглядит следующим образом

 val df:Dataset[String] = spark
  .readStream
  .format("kafka")
  .option("subscribe", topic)
  .options(kafkaParams)
  .load()
  .select($"value".as[Array[Byte]])
  .map { v =>
    val e = MyAvroSchema.decodeEnvelope(v)
    val d = MyAvroSchema.decodeDatum(e)
    d 
  }

В этот момент d - строка, представляющая строку csv, например,

2018-01-02,user8,campaing1,type6,...

Предполагая, что я могу создать csvSchema: StructType

Как я могу преобразовать его в Dataframe [Row] с помощью csvSchema? Одна сложность заключается в том, что размер схемы большой (около 85 столбцов), поэтому создание класса case или кортежа на самом деле не вариант

...