Вы должны дать имена столбцов, если вы хотите предоставить схему.Так что динамически, все, что вы можете сделать вывод, это типы данных.Я полагаю, что для добавления имен столбцов это должно быть исправлено, но просто нет другого способа добавить имена столбцов, которые имеют смысл, фактически не добавляя их самостоятельно.
Вам просто нужна последовательность Structfield
или некоторая такая коллекция, переданная через конструктор StructType
.
import org.apache.spark.sql._
val yourSchema =
StructType(
StructField("colA”, IntegerType, true) ::
StructField("colB”, LongType, false) ::
StructField("colC”, BooleanType, false) :: Nil)