聚集盐以抵抗偏斜

问题描述

我目前正在尝试了解Salt的概念以应对Skew。不幸的是,我找不到足够的信息来帮助我在Spark中聚合(例如Group ByWindow等)的背景下对Salting的概念有所了解。 sql

到目前为止,我认为含盐聚合需要2次通过。因此,我将以下代表第一遍的代码段放在一起。但是,我无法从那里继续。有人可以帮我继续使用Spark SQL查询的几个示例吗?

通过I:

create temporary view salt1 
as
select cust,item,cast(rand() * 10 as int) as salt
from tab1;

create temporary view salt2
as
select cust,item
from (select cust,row_number() over (partition by salt,cust order by purch) as row_num
     from salt1
     )
where row_num = 1;

感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)