【发布时间】:2021-08-08 11:19:58
【问题描述】:
比如我要保存一个表,这两种策略有什么区别?
bucketBy:
someDF.write.format("parquet")
.bucketBy(4, "country")
.mode(SaveMode.OverWrite)
.saveAsTable("someTable")
partitionBy:
someDF.write.format("parquet")
.partitionBy("country") # <-- here is the only difference
.mode(SaveMode.OverWrite)
.saveAsTable("someTable")
我猜,bucketBy 在第一种情况下会创建 4 个包含国家/地区的目录,而 partitionBy 将在“国家/地区”列中创建与唯一值一样多的目录。理解正确吗?
【问题讨论】:
-
这已经回答了。我希望这个链接有帮助。 https://stackoverflow.com/a/19131221/7022089
标签: apache-spark hadoop pyspark hdfs partitioning