【发布时间】:2019-12-11 08:07:21
【问题描述】:
我正在尝试从出现错误的 aws s3 读取数据。
s3 存储桶和路径示例如下:
s3://USA/Texas/Austin/valid
s3://USA/Texas/Austin/invalid
s3://USA/Texas/Houston/valid
s3://USA/Texas/Houston/invalid
s3://USA/Texas/Dallas/valid
s3://USA/Texas/Dallas/invalid
s3://USA/Texas/San_Antonio/valid
s3://USA/Texas/San_Antonio/invalid
当我尝试阅读时
spark.read.parquet("s3://USA/Texas/Austin/valid")
或
spark.read.parquet("s3://USA/Texas/Austin/invalid")
或
spark.read.parquet("s3://USA/Texas/Austin")
效果很好。
但是当我尝试阅读为
spark.read.parquet("s3://USA/Texas/*")
或
spark.read.parquet("s3://USA/Texas")
它抛出一个异常。
java.lang.AssertionError:断言失败:检测到冲突的目录结构。可疑路径:
如果提供的路径是分区目录,请在数据源的选项中设置“basePath”来指定表的根目录。如果有多个根目录,请分别加载,然后合并。
根据建议,我可以单独阅读它们,但我有超过 500 个文件,单独阅读它们并将它们联合起来会很忙。
还有其他方法可以实现吗?
【问题讨论】:
标签: apache-spark amazon-s3 pyspark databricks