Spark - 阅读

时间:2017-04-05 11:50:10

标签: pyspark spark-dataframe pyspark-sql

我有几百个文件夹,其中包含数千个gzip文本文件,每个文件都在s3中,我正在尝试将它们读入带有spark.read.csv()的数据框。

在这些文件中,有些文件的长度为零,导致错误:

  

java.io.EOFException:输入流的意外结束

代码:

df = spark.read.csv('s3n://my-bucket/folder*/logfiles*.log.gz',sep='\t',schema=schema)

我尝试将mode设置为DROPMALFORMED并使用sc.textFile()阅读,但没有运气。

处理空的或损坏的gzip文件的最佳方法是什么?

1 个答案:

答案 0 :(得分:16)

从Spark 2.1开始,您可以通过启用 spark.sql.files.ignoreCorruptFiles 选项来忽略损坏的文件。将其添加到spark-submit或pyspark命令:

  

- conf spark.sql.files.ignoreCorruptFiles = true