spark sql dataframe写入S3失败,"错误关闭分段上传"

时间:2018-02-06 16:14:32

标签: apache-spark pyspark emr amazon-emr

因此,我在AWS EMR集群上运行了一个pyspark作业,其中包含EMR 5.11.0,Spark 2.2.1。 spark工作需要向S3写一个相当大的数据帧(~100GB)。 起初我尝试直接写入S3,如下所示:

df = .... # calculate the data frame
df.write.mode("append").parquet("s3://...")

然后写入失败并出现以下错误:

Caused by: java.io.IOException: Error closing multipart upload
    at com.amazon.ws.emr.hadoop.fs.s3n.MultipartUploadOutputStream.uploadMultiParts(MultipartUploadOutputStream.java:378)
    at com.amazon.ws.emr.hadoop.fs.s3n.MultipartUploadOutputStream.close(MultipartUploadOutputStream.java:395)
    at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.close(FSDataOutputStream.java:74)
    at org.apache.hadoop.fs.FSDataOutputStream.close(FSDataOutputStream.java:108)
    at org.apache.parquet.hadoop.ParquetFileWriter.end(ParquetFileWriter.java:639)
    at org.apache.parquet.hadoop.InternalParquetRecordWriter.close(InternalParquetRecordWriter.java:117)
    at org.apache.parquet.hadoop.ParquetRecordWriter.close(ParquetRecordWriter.java:163)

或者,我可以先写入HDFS,然后使用s3distcp复制到S3,那就说,我想知道如何直接写入S3工作?

由于

0 个答案:

没有答案