我正在处理一个运行 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])
暂无答案!
目前还没有任何答案,快来回答吧!