目录
🔍 问题背景【某数仓面试题】
有两张表:
-
user_logs
:用户行为日志表,每天10亿条数据,包含字段user_id
,action
,log_time
。 -
transactions
:交易记录表,每天1亿条数据,包含字段user_id
,amount
,txn_time
。
需求:按user_id
关联两表,分析用户行为与交易的关系。但发现JOIN操作耗时过长,需优化。
问题分析:
🔸 数据倾斜:某个user_id
占比过高(比如user_id=0
占50%)
🔸 Shuffle爆炸:全表扫描+跨节点传输,网络IO成瓶颈
如何破局?本文将用抽样统计+分桶优化+实战案例,带你彻底解决Hive跨表JOIN的性能问题!