我有一个StructType类型的架构:
val schema = getSchema(); // getSchema returns StructType
我创建了另一个StructField类型的字段:
StructField("NAME", StringType, false)
我知道我可以调用schema.add()方法将NAME字段添加到现有模式的末尾,但是如何将NAME添加到模式的开头以使其成为第一列?感谢。
答案 0 :(得分:4)
您可以创建辅助StructType
,然后将现有辅助添加到其中:
val auxSchema=StructType(Array(StructField("NAME", StringType, false)))
StructType(auxSchema++schema)
答案 1 :(得分:0)
这会奏效。
val schema = StructType(
StructField("string_column", StringType, true) ::
StructField("int_column", IntegerType, true) ::
StructField("float_column", FloatType, true) ::
StructField("_corrupt_record", StringType, true) :: Nil
)
val newschema = schema.add(StructField("new_column", StringType, true))
println(newschema)