更改Array [StructField]中索引spark-shell / scala

时间:2016-07-21 02:41:42

标签: scala apache-spark pyspark

我在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。谢谢你,感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

尝试:

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