我在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)