开发者社区 > 大数据与机器学习 > 开源大数据平台 E-MapReduce > 正文

Spark3 Join Hints是什么?

Spark3 Join Hints是什么? 求大佬解答

展开
收起
爱吃鱼的程序员 2020-12-28 13:48:44 1627 0
2 条回答
写回答
取消 提交回答
  • Android系统与应用研发7年,专注于系统性能问题处理、开发流程工具研发、SDK组件研发工作。 服务端研发2年,前后使用Golang, RoR搭建后端服务程序。

    Join 算法的选择基于统计和启发式算法, 当编译器无法做出最佳选择时, 用户仍然可以使用 join hints 来影响优化器选择更好的计划. Apache Spark 3.0 通过添加新的 hints 扩展了现有的 join hints : SHUFFLE_MERGE/SHUFFLE_HASH 和 SHUFFLE_REPLICATE_NL

    2021-03-02 20:42:35
    赞同 展开评论 打赏
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    JoinHints是一个非常普遍的数据库的优化策略,在3.0之前已经有了Broadcasthashjoin,3.0之后的版本加了Sort-mergejoin、Shufflehashjoin和Shufflenestedloopjoin,但是要注意谨慎使用,因为数据的特性不同,很难保证一直有效,即使有效,也不代表一直有效,随着时间的变化,你的数据变了,可能会让你的query变慢,变得不稳定。总体来说上面的四种Join的适用条件和特点如下所示,总而言之,使用JoinHints要谨慎。

    2020-12-28 13:49:00
    赞同 展开评论 打赏

阿里云EMR是云原生开源大数据平台,为客户提供简单易集成的Hadoop、Hive、Spark、Flink、Presto、ClickHouse、StarRocks、Delta、Hudi等开源大数据计算和存储引擎,计算资源可以根据业务的需要调整。EMR可以部署在阿里云公有云的ECS和ACK平台。

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载