データフレームと、配列関数に入れる必要がある列名のリストがあるので、名前を.withColumn関数を使用してUDFに渡すことができます。スカラコレクションの要素を配列に格納する方法
このように:val names = "col1,col2,col3"
と私が必要なのはarray("col1","col2","col3")
です。私はSeqに名前をつけて、次のようにforループを実行しようとしました:
array(for(i <- 0 to names.length-1)names(i))
しかし、これはループのための値ではありません。しかし、私がyieldループを行うと、コレクションに必要なすべての要素が追加されますが、個別に抽出する必要があります。
これを解決する方法はありますか?
問題をより明確にするには...配列は関数であり、コレクションではありません。配列はコレクションです。
例:
scala> array("col1","col2","col3")
res20: org.apache.spark.sql.Column = array(col1, col2, col3)
私は必要なもの:私はシーケンスval names = Seq("col1","col2","col3")
を持っていると私は、配列内の要素は、配列関数に貼り付ける必要があります。
'names.split( "")' – philantrovert
を、私はあなた 'array'とScalaの' Array'コレクション – Anna
を必要としません。異なっています?配列でない場合はどうしますか? – philantrovert