У меня есть rdd, тип которого — строка, потому что он был прочитан из текстового файла и содержит около 20 полей. Например,
val rdd = sc.parallelize(Seq( ("1", "2.0", "three"), ("1", "2.0", "three")))
Я хочу использовать динамически сгенерированный тип структуры, например, для создания фрейма данных -
val aStruct = new StructType(Array(StructField("id",LongType,nullable = true),StructField("id2",StringType,nullable = true), StructField("role",StringType,nullable = true)))
val df = sqlContext.createDataFrame(rdd, aStruct)
Есть ли способ автоматически обработать это, или мне нужно обновить каждое поле на rdd с правильным типом перед созданием фрейма данных.