PySpark加载分区Delta文件:如何一次性加载全量月份分区数据
加载所有Delta分区数据到单个DataFrame
你的问题核心是代码里的变量名不匹配,导致实际加载的是单个分区路径而非根目录。Delta Lake默认会自动识别分区结构,直接加载根路径即可读取所有月份的分区数据。
修正后的代码如下:
delta_path = "abfss://data@pragmaticworks.dfs.core.windows.net/delta/FG4P/" ref_Table = spark.read.format("delta").load(delta_path)
额外说明
- 确保
delta_path指向包含所有month=xx分区的根目录(即你提供的FG4P/路径),而非单个子分区路径。 - Delta Lake会自动将
month识别为分区列,你可以通过ref_Table.printSchema()查看是否包含该列,或用ref_Table.select("month").distinct().show()验证所有月份是否已加载。 - 如果遇到分区未被自动识别的极端情况,可以添加参数强制递归读取:
ref_Table = spark.read.format("delta") .option("recursiveFileLookup", "true") .load(delta_path)
内容的提问来源于stack exchange,提问作者jacques bogart
相关产品推荐
相关产品推荐

