在索引spark-shell/scala处更改Array[StructField]中的数据类型



我在spark shell中创建了一个长度为8的Array[StructField]。现在,我想编辑其中一个字段的数据类型。代码:

val fields = header.map(field_name => StructField(field_name, IntegerType, true))

"header"是我创建的架构字符串。

在python/pyspark中,要编辑索引5处的列数据类型,以下代码起作用。

fields[5].dataType = StringType()

如何在scala/spark shell中实现它?我尝试了以下两个代码,但没有成功。

fields(5).dataType = StringType
fields(5).update(1, StringType)

我刚开始学习scala。谢谢你,感谢你的帮助。

尝试:

fields(5) = fields(5).copy(dataType=StringType)

最新更新