2016-04-27 8 views
1

CSVファイルをパーケットファイルに変換することはできますが、パーケットファイルは2〜3MBのファイルに分割されます。一例として〜25GBのCSVは、700を超えるファイルを含むParquetファイルに変換されます。私の研究によると、256MBと1GBの間でなければならないことがわかります。どのようにサイズを指定するのですか?PySparkで最大のパーケットブロックサイズを指定

私は、ImpalaがPARQUET_FILE_SIZE経由で行っていることがわかりました。私はPySparkのために何かを見つけることができませんでした。以下のコード例:

df.write.mode("overwrite").parquet("s3n://%s:%[email protected]%s/%s" % (ACCESS_KEY, SECRET_KEY, AWS_BUCKET_NAME, FOLDER_FOR_PARQUET_RESULTS)) 

答えて

0

を試してください: - これは大きな寄木細工のファイルを作成する必要があります

df \ 
.repartition(100) \ 
.write \ 
.mode("overwrite") \ 
.parquet("s3n://%s:%[email protected]%s/%s" % (ACCESS_KEY, SECRET_KEY, \ 
AWS_BUCKET_NAME, FOLDER_FOR_PARQUET_RESULTS)) 

再分割は、よく、100のパーティション(非圧縮サイズは約256メガバイト)にあなたのデータフレームを再分割します。

+0

私の元のファイルサイズは変更されるので、ファイルサイズとパーティション数を見積もる必要があります。 –

関連する問題