2017-07-10 9 views
0

私は現在spark 2.0を使用しています。私は複数のパーティションを持つ寄木細工としてデータフレームを作成しようとしています。ScalaのpartitionBy defで複数のパラメータを渡すには?

下記のスパークシェルを実行しようとしています。

var partitionNames = "partition1,partition2" 

var partition = partitionNames.split(",").map(elem => "\""+ elem + "\"").map(elem => elem.mkString) //"partition1","partition2" 

df.write.partitionBy(partition).path("s3://") 

上記の書き込みコマンドを実行すると、パーティション列がデータフレームに存在しないことを示すエラーが表示されます。

パーティションをハードコーディングすると機能しますが、引数として渡すときは機能しません。

+0

あなたは再分割または融合を試みましたか? –

答えて

0

二つの問題がここにあります。最初の列名が含まれていること」(あなたが望むものはおそらくされていない)、第二はpartitionByは可変引数の文字列を期待していることである

いずれの場合も、パーティションと仮定すると、正しいが含まれていますあなたがしなければならないその価値の名前:

df.write.partitionBy(partition: _*).path("s3://") 
関連する問題