当s3路径被显式地指定用于读取不在同一目录中的拼花文件时,不会推断分区方案,因此我不会在spark数据帧中获得分区列
我在读取拼花文件时尝试了merge schema=True选项,但在给定根文件夹而不是显式路径时,这似乎是可行的
我当前的s3目录结构
bucket
folder1
.....|- col=val1/file1.parquet
.....|- col=val2/file2.parquet
.....|- col=val3/file3.parquet
.....
folder2
.....|- col=val1/file4.parquet
.....|- col=val2/file5.parquet
.....|- col=val3/file6.parquet
.....
.....
我想读取键列值为val1和val2的所有文件。 因此,我将这些路径的s3路径作为一个列表,并显式地读取它们
s3paths = ['s3://bucket/folder1/col=val1/file1.parquet',
's3://bucket/folder1/col=val2/file2.parquet',
's3://bucket/folder1/col=val1/file4.parquet',
's3://bucket/folder2/col=val2/file5.parquet']
df = spark.read.parquet(*s3paths)
# another option
df = spark.read.options("mergeSchema", True).parquet(*s3paths)
我可以读取文件,但列col没有出现在spark数据帧中
我希望列'col'出现在我的数据帧中
目前没有回答
相关问题 更多 >
编程相关推荐