2016-07-21 10 views
0

spark-shellに長さ8の配列[StructField]を作成しました。 これで、いずれかのフィールドのデータ型を編集したいと思います。 コード:インデックスの配列[StructField]のデータ型を変更するspark-shell/scala

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

'header'は作成したスキーマ文字列です。

python/pysparkでは、インデックス5の列データ型を編集するために、次のコードが機能しました。

fields[5].dataType = StringType() 

スカラー/スパークシェルでどのように達成できますか?私は次の2つのコードを試しましたが動作しませんでした。

fields(5).dataType = StringType 

fields(5).update(1, StringType) 

私はちょうどスカラで始まった。ありがとうと助けていただきありがとうございます。

+0

あなたがこれを必要となぜ私が聞いても?それは[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)のように見えます。一つの方法または別のもの - 'DataTypes'は不変です。 – zero323

答えて

0

試してみてください。

fields(5) = fields(5).copy(dataType=StringType) 
関連する問題