Pyspark:无法从 SparkFiles 读取镶木地板文件
Posted
技术标签:
【中文标题】Pyspark:无法从 SparkFiles 读取镶木地板文件【英文标题】:Pyspark: Unable to read a parquet file from SparkFiles 【发布时间】:2021-11-10 16:41:54 【问题描述】:使用 addFile 将多个文件添加到 `park 并尝试使用读取 parquet 文件后
parquet_dir = "/a/b/c.parquet"
spark.sparkContext.addFile(parquet_dir)
parquet_path = SparkFiles.get("c.parquet")
spark.read.parquet(f"file://parquet_path")
我们遇到一个 java 错误,它在 csv 文件上显示 java.nio.file.NoSuchFileException
answer = 'xro770',gateway_client =
py4j.protocol.Py4JJavaError:调用 o767.parquet 时出错。 E:org.apache.spark.SparkException:作业因阶段失败而中止:阶段 1.0 中的任务 0 失败 1 次,最近失败:阶段 1.0 中丢失任务 0.0(TID 1)(10.196.190.115 执行程序驱动程序):java。 nio.file.NoSuchFileException: /Users/foorx/Developer/myproject/project-files/51e05c208b62b433293ef408fd1a3820.csv
什么可能导致 pyspark 在应该读取 parquet 路径时读取 csv 路径?
谢谢!
【问题讨论】:
【参考方案1】:原来这个bug是由于删除了另一个添加到spark的本地文件造成的。驱动程序仍会尝试引用已删除的本地文件并在其他地方创建运行时问题。
【讨论】:
以上是关于Pyspark:无法从 SparkFiles 读取镶木地板文件的主要内容,如果未能解决你的问题,请参考以下文章
无法使用本地 PySpark 从 S3 读取 json 文件
PySpark 无法从 hdfs 读取 csv:HiveExternalCatalog 错误
无法从 S3 读取 csv 到 AWS 上 EC2 实例上的 pyspark 数据帧