我需要从不是父目录或子目录的多个路径读取镶木地板文件。
例如,
dir1 ---
|
------- dir1_1
|
------- dir1_2
dir2 ---
|
------- dir2_1
|
------- dir2_2
sqlContext.read.parquet(dir1)
从 dir1_1 和 dir1_2 读取镶木地板文件
现在我正在读取每个目录并使用“unionAll”合并数据帧。
有没有办法从 dir1_2 和 dir2_1 读取镶木地板文件而不使用unionAll
或者有什么奇特的方式使用unionAll
Thanks
有点晚了,但我在搜索时发现了这个,它可能对其他人有帮助......
您也可以尝试将参数列表解压缩为spark.read.parquet()
paths=['foo','bar']
df=spark.read.parquet(*paths)
如果您想将一些 blob 传递到路径参数中,这很方便:
basePath='s3://bucket/'
paths=['s3://bucket/partition_value1=*/partition_value2=2017-04-*',
's3://bucket/partition_value1=*/partition_value2=2017-05-*'
]
df=spark.read.option("basePath",basePath).parquet(*paths)
这很酷,因为您不需要列出基本路径中的所有文件,并且您仍然可以获得分区推断。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)