比如我要保存一张表,这两种策略有什么区别?
someDF.write.format("parquet")
.bucketBy(4, "country")
.mode(SaveMode.OverWrite)
.saveAsTable("someTable")
Run Code Online (Sandbox Code Playgroud)
someDF.write.format("parquet")
.partitionBy("country") # <-- here is the only difference
.mode(SaveMode.OverWrite)
.saveAsTable("someTable")
Run Code Online (Sandbox Code Playgroud)
我猜想,第一种情况下的bucketBy会创建4个包含国家/地区的目录,而partitionBy将在“国家/地区”列中创建与多个唯一值一样多的目录。这是正确的理解吗?