无法从azure数据库块中的存储帐户读取容器内的delta拼花文件



在python notebook的容器omega中写入delta格式的spark命令

当尝试使用spark从omega容器读取delta文件时,会抛出以下错误

omega_2022_06_06_path = 'dbfs:/mnt/omega/'  + 'part-00000-234567-c000.snappy.parquet'
omega_2022_06_07_path = 'dbfs:/mnt/omega/'  + 'part-00000-987898-c000.snappy.parquet'

omega_06_06_DF = spark.read.format("delta").load(omega_2022_06_06_path)
omega_06_07_DF = spark.read.format("delta").load(omega_2022_06_07_path)

AnalysisException: A partition path fragment should be the form like `part1=foo/part2=bar`. The partition path:part-00000-234567-c000.snappy.parquet

我不确定这里是什么分区碎片,这个容器只有一些增量文件,基本上在容器

里面没有目录有人能帮我解决这个问题吗

如果您只需要读取特定的文件,那么您需要使用parquet格式读取它们,而不是delta格式。delta格式表示一个表作为一个整体(所有的数据文件和元数据),而不是特定的部分。如果您需要从Delta表中提取特定的数据,通常使用spark.read.load,然后使用.filter将范围限制为必要的数据。

最新更新