gpt4 book ai didi

apache-spark - Spark : How does salting work in dealing with skewed data

转载 作者:行者123 更新时间:2023-12-03 18:44:46 24 4
gpt4 key购买 nike

我在一个表中有一个倾斜的数据,然后将它与其他小的表进行比较。
我知道在连接的情况下加盐工作 - 即随机数附加到大表中的键,其中包含来自一系列随机数据的倾斜数据,并且小表中没有倾斜数据的行与相同范围的随机数重复.因此匹配的发生是因为在 skewedable 的特定指定键的重复值中会有一个命中
我还读到在执行 groupby 时加盐很有帮助。我的问题是当随机数附加到 key 时,它不会破坏组吗?如果是,则 group by 操作的含义已更改。

最佳答案

My question is when random numbers are appended to the key doesn't it break the group?



嗯,确实如此,为了缓解这种情况,您可以按操作运行两次。
先用加盐键,然后再去掉加盐和分组。
第二个分组将采用部分聚合的数据,从而显着减少倾斜影响。

例如。
import org.apache.spark.sql.functions._

df.withColumn("salt", (rand * n).cast(IntegerType))
.groupBy("salt", groupByFields)
.agg(aggFields)
.groupBy(groupByFields)
.agg(aggFields)

关于apache-spark - Spark : How does salting work in dealing with skewed data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58110207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com