读取第一行为 null 的镶木地板文件时出现异常

时间:2021-02-25 14:32:59

标签: python apache-spark pyspark databricks

我正在尝试将 Parquet 文件读入 Spark DataFrames,但代码对某些文件抛出异常。

df = spark.read.parquet("s3://bucket_name/bad_file.parquet")
<块引用>

org.apache.spark.SparkException:作业因阶段失败而中止:阶段 348.0 中的任务 0 失败 1 次,最近失败:阶段 348.0 中丢失任务 0.0(TID 231,ip-10-248-56-87 .eu-west-1.compute.internal,执行器驱动程序):java.io.IOException:无法读取或转换文件的架构:s3://bucket_name/bad_file.parquet

使用“AWS S3 Select”查询文件我注意到所有有问题的文件在第一行都有空值/缺失值。一个例子是:

<块引用>

U,326278,2021001,,15
U,326278,2021001,123,15

我相信 Spark 正在尝试执行模式推断,当看到第一行中的空值/缺失值时猜测不正确,然后在同一列的后面一行中找到数值时抛出异常。

如何将 Parquet 文件读入 Spark DataFrame,第一行为 null?

*最好不要为每个文件手动定义架构。

0 个答案:

没有答案