2016-10-19 6 views
0

Amazon S3バケットに書き込んでいますが、ファイルには普通の人間が判読できる名前を使用してほしいpart-r-0-8asdifafasd98fu.csvこれにはオプションまたは他の方法がありますか?DataFrameWriterファイルを人間が判読可能な形式で保存する

val savePath = "s3a://<...>" 

val pdata = sqlContext.read.parquet(readPath + "/*") 

val writer: DataFrameWriter[Row] = pdata.coalesce(1).write 

writer.format("csv") 
.mode("overwrite") 
.option("header", "true") 
.option("delimiter", "|") 
.option("nullValue", "") 
.option("codec", "org.apache.hadoop.io.compress.GzipCodec") 
.save(savePath) 
+0

あなたのデータフレームが1つのパーツでドライバに合っていれば、それをディスクに置く必要はありません。つまり、aws s3 APIを使ってs3に書き込むことができます。 – eliasah

+0

ありがとうeliasah;私はこのためにQuboleのUIを使用しています – sqldoug

+0

coalesce(1)を作成するには1つのパーティションはスパークの反パターンです。 – eliasah

答えて

1

人間が判読可能な形式にする方法はありません。各パーティションはS3バケットが別々のパーツファイルに書き込まれます。 hadoopでは、一般にデータセットをディレクトリとみなし、そのディレクトリ内のすべてのファイルはデータセットの一部です。

関連する問題