请解释 MapJoin 的工作原理及适用场景。
考察说明
考察对 Hive/Spark 中 MapJoin 优化机制的理解与实际应用能力
回答思路
- 说明 MapJoin 的核心思想:将小表分发到每个 Map 任务,避免 Reduce 阶段的数据倾斜和网络传输
- 描述 MapJoin 的触发条件,如小表大小阈值设置(hive.auto.convert.join)
- 举例说明驱动表(大表)与查找表(小表)的关联方式
- 讨论 MapJoin 的局限性与替代方案,如大表与大表关联时如何处理
考察对 Hive/Spark 中 MapJoin 优化机制的理解与实际应用能力