databricks-如何确定分区的数量?

llmtgqce  于 2021-05-26  发布在  Spark
关注(0)|答案(0)|浏览(258)

我正在处理一个运行 repartition(48, key) 在保存为增量之前。在初始运行时,它在delta中生成大约25个分区(没有问题,因为密钥可能导致数据落入25个分区中—我假设它不一定为没有数据的节点创建分区?)。
但是,在通过合并完成的第二次运行中,生成了60多个分区文件(这是一个scd进程,已有1700个密钥,只有300个新密钥)
我的理解是 repartition 使用散列算法来确定一个键属于哪个分区,那么如果是这样的话,它是如何创建比已定义分区更多的分区文件的呢?
代码示例:

df = spark.read...

key = ["COL_A"]
partitions = 48
df.repartition(partitions, *[col(c) for c in key])

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题