Существует неявный метод, который создает DataFrame
из Iterable
в Scala, вы можете использовать его при условии, что он состоит из кортежей. Следующий код:
val a = (for (_ <- 0 until 5) yield Seq.fill(3)(Random.nextInt(2)))
.map(x => (x(0), x(1), x(2)))
import spark.implicits._
a.toDF.show
Дает следующий результат:
+---+---+---+
| _1| _2| _3|
+---+---+---+
| 0| 1| 1|
| 1| 0| 0|
| 0| 0| 0|
| 0| 1| 0|
| 1| 1| 1|
+---+---+---+
Вы можете предоставить схему / переименовать столбцы правильно. Более подробную информацию о том, почему эти внутренние структуры должны быть кортежами, можно найти в этом ответе .