【发布时间】:2021-09-01 22:40:30
【问题描述】:
我在 azure databricks 中使用 pyspark。并且需要将数千个文件加载为文件列表。使用了“多深度分区”,使得使用基本路径读取文件变得困难。
确实,这种多深度分区会导致嵌套目录触发此错误:
AnalysisException:无法推断 CSV 的架构。一定是 手动指定。;
因此,我们将所有内容作为文件列表读取,我想知道当您使用以下方式读取文件时性能是否相同:
1.
spark.read.format('csv').load('/mnt/article/2021/08/09')
对
2.
spark.read.format('csv').load([
'/mnt/article/2021/08/09/test.csv',
'/mnt/article/2021/08/09/test2.csv',
'/mnt/article/2021/08/09/test3.csv'
])
对
3.
spark.read.format('csv').load(['/mnt/article/*/*/*/])
由于某些原因,我们不想使用第三个:spark.read.format('csv').load(['/mnt/article/*/*/*/),但如果第二个真的效率不高,我们可能会重新考虑。
非常感谢您的任何意见或建议!
【问题讨论】:
标签: apache-spark pyspark partitioning azure-databricks