我在spark-shell中创建了一个长度为8的Array [StructField]。 现在,我想编辑其中一个字段的数据类型。 代码:
val fields = header.map(field_name => StructField(field_name, IntegerType, true))
'头'是我创建的架构字符串。
在python / pyspark中,要编辑索引5处的列数据类型,以下代码可以正常工作。
fields[5].dataType = StringType()
如何在scala / spark-shell中实现它?我尝试了以下两个代码,但没有奏效。
fields(5).dataType = StringType
fields(5).update(1, StringType)
我刚开始使用scala。谢谢你,感谢任何帮助。
答案 0 :(得分:1)
尝试:
fields(5) = fields(5).copy(dataType=StringType)