Как вы сказали,
kvs = KafkaUtils.createStream(ssc, zkQuorum, "spark-streaming-consumer3", {topic: 1})
lines = kvs.map(lambda x: x[1])
Здесь lines
- это dStream
из rdds
, а не одно rdd
само по себе.Следовательно, чтобы получить фрейм данных, вы должны преобразовать его в dStream
фреймов данных.Как то так,
lines.foreachRDD(lambda rdd: rdd.toDF())