关注
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 而是小时级别 每一个小时做一次 到时候如果再数据倾斜再考虑上面的方法
#数仓开发#
查看原帖
点赞 评论
相关推荐
06-04 12:15
华南理工大学 算法工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-05 13:08
西安交通大学城市学院 数据分析师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你以为的实习VS真实的实习 #
164843次浏览 918人参与
# 妈妈治愈了你哪些脆皮时刻 #
51832次浏览 414人参与
# 我的实习日记 #
4202707次浏览 33434人参与
# 第一次找实习,我建议__ #
92382次浏览 940人参与
# 文远知行求职进展汇总 #
7297次浏览 43人参与
# OC/开奖 #
459528次浏览 2338人参与
# 机械笔面试考察这些知识点 #
23863次浏览 172人参与
# 从mentor身上学到了__ #
69357次浏览 957人参与
# 你觉得mentor喜欢什么样的实习生 #
65777次浏览 1099人参与
# 实习的内耗时刻 #
247365次浏览 1677人参与
# 面试线索爆料 #
138873次浏览 718人参与
# 硬件/芯片校招攻略 #
22347次浏览 309人参与
# 当你面对裁员会如何? #
423114次浏览 3098人参与
# 工作两年想退休了 #
287432次浏览 2093人参与
# 离家近房租贵VS离家远但房租低,怎么选 #
23835次浏览 154人参与
# 薪资一样,你会选择去大厂还是小公司 #
38529次浏览 141人参与
# 数字马力求职进展汇总 #
364276次浏览 2433人参与
# 参加过提前批的机械人,你们还参加秋招么 #
124829次浏览 1700人参与
# 研究所笔面经互助 #
132375次浏览 588人参与
# 牛客AI文生图 #
31399次浏览 318人参与

