2016-05-23 14 views
1

選択肢を持つオーバーロードされたメソッド値オプション:エラー:私は以下のようにS3で私のデータフレームを保存しようとしています

myDF.write.format("com.databricks.spark.csv").options(codec="org.apache.hadoop.io.compress.GzipCodec").save("s3n://myPath/myData.csv") 

その後、私が得たエラー:

<console>:132: error: overloaded method value options with alternatives: 
    (options: java.util.Map[String,String])org.apache.spark.sql.DataFrameWriter <and> 
    (options: scala.collection.Map[String,String])org.apache.spark.sql.DataFrameWriter 
cannot be applied to (codec: String) 

誰もが私が逃した何を知っていますか?ありがとう!

答えて

4

ScalaはPythonではありません。 ** kwargsはありません。

myDF.write.format("com.databricks.spark.csv") 
    .options(Map("codec" -> "org.apache.hadoop.io.compress.GzipCodec")) 
    .save("s3n://myPath/myData.csv") 
+0

代わりに1つのmyData.csvファイルに保存するので、私は実際には複数のcsv.gzファイルはフォルダの下に保存されているmyData.csv「フォルダ」を、持って:あなたはMapを提供する必要があります。それをcsvファイルに保存する方法はありますか?ありがとう! – Edamame

+1

@Edamame出力ファイルのサイズを無視できない限り、単一のファイルを作成することはできません(http://stackoverflow.com/a/31675351/1560062)。 – zero323

+0

@ zero323:ありがとう!私が単一のパーティションに合体すると仮定して、どのように1つのCSVファイルに保存するのですか?ありがとう! – Edamame

関連する問題