关注
3. 事实表关联维表 一般是大小表join 即事实表大维表小 或者 维表大 事实表属于增量数据 比较小
楼主说的情况 事实表很大 维表也很大
大数据处理其实不怕数据量大 而怕分布不均匀 数据倾斜是说事实表中数据有集中分布
情况1:
数据其实比较均匀 但经过hash后 某个分区数据就很多 可以尝试下调整分区数可能有效 虽然大多情况下没用
情况2:
事实表存在长尾效应 头部严重集中 比如淘宝的全体店铺的销售流水表 关联 店铺维表 头部店铺的销量一定是非常大的
对于这种的 可以分开处理
select
t1.*,t2.*
from
(
select * from fact_table where id in (1,2,3) -- 这三家店铺是头部单独处理
)t1
left join
(
select * from dim_table where id in (1,2,3) -- 此时维表就很小了 可以用mapjoin
)t2 on t1.id = t2.id
union all
select
t1.*,t2.*
from
(
select * from fact_table where id not in (1,2,3)
)t1
left join
(
select * from dim_table where id not in (1,2,3)
)t2 on t1.id = t2.id;
情况3:
数据量相当大 且不止是头部 头身都很大 只有少数数据比较少 想象的场景是物联网中 某个机具当天的心跳信息 关联 机具的基础信息 几乎每个机具的心跳信息都有上千万条
1.维表能不能先过滤 可能维表1kw条 但关联用到的只有100w 转为大小表join
select * from dim_table where id in (select id from fact_table group by id)
2.如果两个表都很大 那不是数据倾斜 而是数据堆积 每个任务处理时间都很长
这种的不要以天级别做join 而是小时级别 每一个小时做一次 到时候如果再数据倾斜再考虑上面的方法
#数仓开发#
查看原帖
点赞 评论
相关推荐
10-16 10:32
东北大学 前端工程师 在校生实习:我觉得平时学校肯定有各种大作业吧。包装一下写项目里。特长那块喧宾夺主了,项目肯定是大头。特长里比如:熟悉vscode,这个感觉不具有吸引性。简要介绍你会什么语言,什么工具等就行了。同26找实习,我是个超级菜鸡😭大家一起加油
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
247176次浏览 2011人参与
# 学历or实习经历,哪个更重要 #
41023次浏览 298人参与
# 北方华创开奖 #
22761次浏览 259人参与
# 地方国企笔面经互助 #
2535次浏览 6人参与
# 你最想要的公司福利是? #
39887次浏览 125人参与
# 选完offer后,你后悔学本专业吗 #
10350次浏览 75人参与
# 面试题刺客退退退 #
137078次浏览 2091人参与
# 国企/银行/研究所公司爆料 #
89695次浏览 412人参与
# 应届生被毁约被毁意向了怎么办 #
27069次浏览 238人参与
# 一觉醒来,我觉醒了超级打工人系统 #
2878次浏览 35人参与
# 机械应届生薪资要多少才合适? #
12382次浏览 60人参与
# 查收我的offer竞争力报告 #
16726次浏览 228人参与
# 校招入职后的感受 #
156891次浏览 1961人参与
# 你觉得第一学历对求职有影响吗? #
14876次浏览 121人参与
# 没有实习经历,还有机会进大厂吗 #
804959次浏览 13813人参与
# 我的工作日记 #
21162次浏览 270人参与
# 不给转正的实习,你还去吗 #
1516765次浏览 16964人参与
# 寒假躺平还是提前实习 #
58399次浏览 438人参与
# 总结:哪家公司面试体验感最差 #
25721次浏览 129人参与
# 秋招OC许愿 #
226487次浏览 1870人参与
# 如何写一份好简历 #
602020次浏览 8440人参与