Можете да използвате df.map(row => ...) за преобразуване на рамката от данни в RDD, ако искате да съпоставите ред с различен RDD елемент.
Например:
val df = Seq(("table1",432),
("table2",567),
("table3",987),
("table1",789)).
toDF("tablename", "Code").toDF()
df.show()
+---------+----+
|tablename|Code|
+---------+----+
| table1| 432|
| table2| 567|
| table3| 987|
| table1| 789|
+---------+----+
val rddDf = df.map(r => (r(0), r(1))).rdd // Type:RDD[(Any,Any)]
OR
val rdd = df.map(r => (r(0).toString, r(1).toString)).rdd //Type: RDD[(String,String)]
Моля, вижте https://community.hortonworks.com/questions/106500/error-in-spark-streaming-kafka-integration-structu.html относно AnalysisException:Заявките с източници на поточно предаване трябва да се изпълняват с writeStream.start()
Трябва да изчакате прекратяването на заявката с помощта на query.awaitTermination() За да предотвратите излизането на процеса, докато заявката е активна.