【携程一面】大小表非等值连接是广播JOIN吗?

前言

此题是2025年10月携程最新的数据开发面试题,我查阅了一下《大数据开发面试笔记V7.0》,确实是没有!但是回答本题又有一定的难度,于是今天来给大家解析一下本题,并且会补充在面试笔记中(位于spark补充题第29题)

参考答案

非等值连接不是广播JOIN,而是广播嵌套循环JOIN,也叫 BroadcastNestedLoopJoin,虽然也会将小表广播到所有的executor上,不同于BroadcastHashJoin的是,在JOIN时会用大表的key在未排序的小表中进行逐一匹配,效率非常低下

示例说明

spark.sql(
  """
    |select 1 as id, "a" as name1
    |union all
    |select 2 as id, "b" as name1
    |union all
    |select 3 as id, "c" as name1
    |union all
    |select 4 as id, "d" as name1
    |union all
    |select 5 as id, "e" as name1
    |union all
    |select 6 as id, "f" as name1
    |""".stripMargin).createOrReplaceTempView("t1")

spark.sql(
  """
    |select 1 as id, "aa" as name2
    |union all
    |select 2 as id, "bb" as name2
    |union all
    |select 3 as id, "cc" as name2
    |union all
    |select 7 as id, "xx" as name2
    |""".stripMargin).createOrReplaceTempView("t2")

等值连接

spark.sql(
  """
    |select *
    |from t1
    |left join t2
    |on t1.id = t2.id
    |""".stripMargin).show(false)

非等值连接

spark.sql(
  """
    |select *
    |from t1
    |left join t2
    |on t1.id != t2.id
    |""".stripMargin).show(false)

思考

大小表非等值连接如何避免使用BroadcastNestedLoopJoin呢?

#数据人的面试交流地#
大数据开发面试笔记 文章被收录于专栏

包括大数据篇、计算机语言篇、计算机基础篇、算法刷题篇、面试经验篇等五大篇章: 大数据篇包括框架原理、源码解析、调优技巧、大数据场景题、项目实战、数仓理论等模块;计算机语言篇包括Java、Linux、大厂常考SQL面试题等模块;计算机基础篇包括计算机网络、操作系统、数据库、数据结构等模块;算法刷题篇包括大厂高频算法题、刷题速成计划等模块 面试经验篇包括BAT、美团、字节、快手、京东等大厂的面经合集

全部评论

相关推荐

1. 请先做个简单的自我介绍?重点介绍一下自己的相关经历。2. 你最近5年的职业规划是什么,能否详细的谈一下?3. 你应聘这个岗位的优势是什么?劣势是什么?(各说三点)4. 为什么选择应聘我们公司?5. 你期望的薪酬是多少?6. 迈瑞医疗业务广泛,数据来源复杂多样,谈谈你过往处理复杂数据源融合分析的经验与方法。7. 迈瑞医疗注重产品研发创新,在以往工作中,你如何通过数据分析为研发方向提供有效支持?8. 我们公司业务涉及国内外市场,面对不同地区的数据差异,你有怎样的分析策略与实践经验?9. 迈瑞医疗产品种类丰富,在数据挖掘过程中,怎样确保针对不同产品线的数据挖掘精准有效?10. 讲述一次你运用数据分析解决业务难题的经历,类似迈瑞医疗这种医疗行业业务场景。11. 迈瑞医疗数据量庞大,在数据清洗环节,你通常会采取哪些高效且准确的方法与步骤?12. 对于迈瑞医疗海量的医疗数据,你如何选择合适的数据分析工具和技术栈来保障工作效率?13. 当面对紧急且复杂的数据分析任务,类似迈瑞医疗突发项目需求,你怎样安排工作流程?14. 迈瑞医疗有多个业务部门,谈谈你在跨部门合作进行数据分析项目时的沟通与协作经验。15. 举例说明你如何运用数据分析为企业优化资源配置,这对迈瑞医疗资源管理有何借鉴?16. 迈瑞医疗注重医疗数据安全,在数据分析过程中,你怎样确保数据的保密性和完整性?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务