如何从 Spark 正确读取 S3 中的 .csv 文件? - 无法读取文件的页脚

Posted

技术标签:

【中文标题】如何从 Spark 正确读取 S3 中的 .csv 文件? - 无法读取文件的页脚【英文标题】:How to properly read a .csv file in S3 from Spark? - Cannot read footer for file 【发布时间】:2018-06-08 13:24:13 【问题描述】:

我们正在尝试使用 Spark 在 S3 中读取 .csv 文件,但收到此错误:

py4j.protocol.Py4JJavaError: An error occurred while calling o32.load.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 4 times, most recent failure: Lost task 0.3 in stage 0.0 (TID 3, 10.50.94.133, executor 0): java.io.IOException: Could not read footer for file: FileStatuspath=s3a://edl-dfs-sas-cecl-dev/output/dev/dev10/h2o/extend_subset.csv; isDirectory=false; length=897466691973; replication=0; blocksize=0; modification_time=0; access_time=0; owner=; group=; permission=rw-rw-rw-; isSymlink=false

可以做些什么来避免这个错误?

【问题讨论】:

听起来您尝试将其解读为 Parquet。 命令是:val dnd_df = sc.read.csv("s3a://edl-dfs-sas-cecl-dev/output/dev/dev10/h2o/extend_subset.csv") 这是 Scala 代码,不是 Python 这里是python命令:myRDD=sc.textFile(“s3a://edl-dfs-sas-cecl-dev/output/dev/dev10/h2o/extend_subset.csv”)跨度> 而且这段代码从不调用load,所以你可以很确定它不会导致你显示的异常。 【参考方案1】:

我能够从 spark 2.2 中的 pyspark shell 完美读取 Check the screenshot。

无法复制问题。

【讨论】:

以上是关于如何从 Spark 正确读取 S3 中的 .csv 文件? - 无法读取文件的页脚的主要内容,如果未能解决你的问题,请参考以下文章

使用 pyspark 从 AWS s3 Bucket 读取 csv 时出错

无法从 S3 读取 csv 到 AWS 上 EC2 实例上的 pyspark 数据帧

从 S3 存储桶中读取大量 CSV 文件

如何使用 Python Jupyter Notebook 通过 KMS 加密从 S3 读取文件

从 s3 读取文件时 Spark 应用程序停止

当我们从 s3 中的 csv 文件读取数据并在 aws athena 中创建表时如何跳过标题。