发明名称 |
解决大数据计算过程中数据倾斜的方法 |
摘要 |
本发明提出了一种解决大数据计算过程中数据倾斜的方法,包括以下步骤:分析每天数据的主键的量级,设定一个阈值D,得到每个主键下的数据的分组数量N;根据每个主键的阈值D和分组数量N,得到主键分组生成码表;当进行数据分析或处理时,查询之前生成好的主键分组生成码表,给每个数据的主键加上一个1到分组数量N之间的随机数作为新主键,最终完成第一次分组;最终完成数据处理;根据原始的主键进行第二次分组,并统计最终分组结果。本发明无需增加硬件成本,对shuffle操作导致的数据倾斜有着明显的作用,通常可以解决数据倾斜问题,或者至少是大幅度缓解数据倾斜,将Spark作业的性能提高。 |
申请公布号 |
CN106293938A |
申请公布日期 |
2017.01.04 |
申请号 |
CN201610638080.2 |
申请日期 |
2016.08.05 |
申请人 |
飞思达技术(北京)有限公司 |
发明人 |
崔隆 |
分类号 |
G06F9/50(2006.01)I |
主分类号 |
G06F9/50(2006.01)I |
代理机构 |
北京中企鸿阳知识产权代理事务所(普通合伙) 11487 |
代理人 |
郭鸿雁 |
主权项 |
一种解决大数据计算过程中数据倾斜的方法,其特征在于,包括以下步骤:步骤S1,分析每天数据的主键的量级,设定一个阈值D,得到每个主键下的数据的分组数量N;步骤S2,根据每个主键的阈值D和分组数量N,得到主键分组生成码表,每次进行数据分析或处理时查询此表,根据相应的分组数量N对数据进行分组;步骤S3,当进行数据分析或处理时,查询之前生成好的主键分组生成码表,给每个数据的主键加上一个1到分组数量N之间的随机数作为新主键,将新主键相同的数据分为一组,分为N组,最终完成第一次分组;步骤S4,对第一次分组后的数据,采用不同task任务处理新主键不同的数据,同一task任务处理新主键相同的数据,最终完成数据处理;步骤S5,对上述处理后的数据,去除新主键后面所加的随机数,得到数据原始的主键,根据原始的主键进行第二次分组,并统计最终分组结果。 |
地址 |
100085 北京市海淀区上地五街九号2幢四层400房间 |