У меня есть коллекция векторов с именем values
, которую я пытаюсь преобразовать в фрейм данных
scala.collection.immutable.Vector[(String, Double)] = Vector((1,1.0), (2,2.4), (3,3.7), (4,5.0), (5,4.9))
Я определил пользовательскую схему следующим образом и попытался выполнить преобразование.
val customSchema = new StructType()
.add("A", IntegerType, true)
.add("B", DoubleType, true)
val df = values.toDF.schema(customSchema)
Это дает мне сообщение об ошибке,
error: overloaded method value apply with alternatives:
(fieldIndex: Int)org.apache.spark.sql.types.StructField <and>
(names: Set[String])org.apache.spark.sql.types.StructType <and>
(name: String)org.apache.spark.sql.types.StructField
cannot be applied to (org.apache.spark.sql.types.StructType)
Я перепробовал все методы, описанные здесь и здесь , а также документацию StructType для создания схемы. Однако все методы приводят к одной и той же пользовательской схеме, customSchema: org.apache.spark.sql.types.StructType = StructType(StructField(A,IntegerType,true), StructField(B,DoubleType,true))
toDF
метод работает просто отлично без пользовательской схемы. Однако я хочу заставить пользовательскую схему. Может кто-нибудь сказать мне, что я здесь делаю не так?