首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法读取Delta格式的Delta / Parquet文件

无法读取Delta格式的Delta / Parquet文件
EN

Stack Overflow用户
提问于 2022-08-06 10:35:03
回答 2查看 842关注 0票数 0

我试图使用Databricks中的以下代码来读取Databricks中的delta / parquet

代码语言:javascript
复制
df3 = spark.read.format("delta").load('/mnt/lake/CUR/CURATED/origination/company/opportunities_final/curorigination.presentation.parquet')

但是,我得到了以下错误:

代码语言:javascript
复制
A partition path fragment should be the form like `part1=foo/part2=bar`. The partition path: curorigination.presentation.parquet

这看起来很简单,但不知道为什么我会犯这个错误

有什么想法吗?

文件结构如下所示

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-06 12:40:22

此错误显示delta湖泊认为您有错误的分区路径命名。

如果您的增量表中有任何分区列,例如,一年月份日,那么您的路径应该看起来像/mnt/lake/CUR/CURATED/origination/company/opportunities_final/year=yyyy/month=mm/day=dd/curorigination.presentation.parquet,您只需要执行df = spark.read.format("delta").load("/mnt/lake/CUR/CURATED/origination/company/opportunities_final")

如果您只是将其作为拼花阅读,您可以只做df = spark.read.parquet("/mnt/lake/CUR/CURATED/origination/company/opportunities_final"),因为您不需要读取拼花文件的绝对路径。

票数 1
EN

Stack Overflow用户

发布于 2022-08-06 19:23:32

以上错误主要是由于路径格式curorigination.presentation.parquet不正确造成的。请检查您的增量位置,并检查是否创建了增量文件:

代码语言:javascript
复制
%fs ls /mnt/lake/CUR/CURATED/origination/company/opportunities_final/  

我在我的环境中复制了同样的东西。首先,我用一个拼花文件创建了一个数据框架。

代码语言:javascript
复制
df1 = spark.read.format("parquet").load("/FileStore/tables/")
display(df1)

在此之后,我只是将拼花文件转换成增量格式,并将文件保存到这个位置/mnt/lake/CUR/CURATED/origination/company/opportunities_final/demo_delta1中。

代码语言:javascript
复制
df1.coalesce(1).write.format('delta').mode("overwrite").save("/mnt/lake/CUR/CURATED/origination/company/opportunities_final/demo_delta1")

代码语言:javascript
复制
#Reading delta file
df3 = spark.read.format("delta").load("/mnt/lake/CUR/CURATED/origination/company/opportunities_final/demo_delta")
display(df3)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73259013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档