使用Delta格式读取Databricks Parquet文件报错,求解决思路
问题:Databricks读取文件报错的解决思路
操作代码
df3 = spark.read.format("delta").load('/mnt/lake/CUR/CURATED/origination/company/opportunities_final/curorigination.presentation.parquet')
报错信息
A partition path fragment should be the form like `part1=foo/part2=bar`. The partition path: curorigination.presentation.parquet
报错原因
从文件结构来看,curorigination.presentation.parquet是单个Parquet数据文件,而你使用了delta格式读取。当Spark以Delta格式加载路径时,会默认将路径的最后一段视为分区目录,要求分区目录必须符合key=value的格式,但该文件名显然不满足这个规则,因此触发报错。
解决思路
- 读取Parquet文件:如果目标是读取这个Parquet文件,将格式改为
parquet即可:df3 = spark.read.format("parquet").load('/mnt/lake/CUR/CURATED/origination/company/opportunities_final/curorigination.presentation.parquet') - 读取Delta表:如果你的目标是读取Delta表,需要确认Delta表的根目录(目录下包含
_delta_log文件夹),将路径指向该目录而非单个文件。例如若opportunities_final是Delta表的根目录,代码应为:df3 = spark.read.format("delta").load('/mnt/lake/CUR/CURATED/origination/company/opportunities_final/')
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

