Spark阶段交换的意义

2023-12-19

谁能解释一下我的 Spark DAG 中的 Spark 阶段中交换的含义。我的大部分阶段要么以交换开始,要么以交换结束。

1). WholeStageCodeGen -> 交换 2)。交换 -> WholeStageCodeGen -> SortAggregate -> 交换


全阶段代码生成是一种受现代编译器启发的技术,可将整个查询折叠为单个函数 在全阶段代码生成之前,每个物理计划都是一个类,其中包含定义执行的代码。通过全阶段代码生成,计划树中的所有物理计划节点协同工作,在单个函数中生成 Java 代码以供执行。然后使用快速 Java 编译器 Janino 将 Java 代码转换为 JVM 字节码。然后 JVM JIT 开始进一步优化字节码,并最终将它们编译成机器指令。

例如

== Physical Plan ==
*Project [id#27, token#28, token#6]
+- *SortMergeJoin [id#27], [id#5], Inner
   :- *Sort [id#27 ASC NULLS FIRST], false, 0
   :  +- Exchange hashpartitioning(id#27, 200)

无论您在哪里看到*,都意味着wholestagecodegen在聚合之前已经生成了手写代码。 Exchange是指作业之间的Shuffle Exchange。Exchange没有全阶段代码生成,因为它是通过网络发送数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark阶段交换的意义 的相关文章

随机推荐

  • AS3 最大文本字段宽度

    如何设置Textfield的最大宽度 我需要自动调整宽度 直到达到最大宽度 因此长文本会断行 var maxWidth Number 200 textField multiline false textField wordWrap fals
  • devicePixelRatio可以小于1吗

    由于某种原因 任何小于 1 的像素比值在我的渲染算法中都不起作用 值 0 没有意义 但 0 5 则有意义 有没有可能devicePixelRatio返回 0 到 1 之间的值 如果您将浏览器缩放设置为小于 100 则 DPR 可能小于 1
  • 制作(从源代码安装)python 而不运行测试

    我从源码 tar 编译 python 一切正常 但测试运行了 2 小时和两次 如何绕过这些测试 0 16 20 178 405 test inspect 0 16 26 179 405 test int 0 16 27 180 405 te
  • 如何在 tvOS 中打开 GameCenter

    如何在 tvOS 中打开游戏中心排行榜 我已将此代码用于我的 iPhone 游戏 排行榜标识符 在 tvOS 上不可用 我计划在 AppleTV 上使用相同的排行榜 这将是同一个游戏 非常感谢您的帮助 斯特凡 IBAction func h
  • xsl 在 xml 中定义

    我在 movie xml 中的前几行如下
  • 当子文件夹具有相同名称时,Airflow Packaged Dags(压缩)会发生冲突

    我们正在建立一个 Airflow 框架 多个数据科学家团队可以在其中协调他们的数据处理管道 我们开发了一个 Python 代码库来帮助他们实现 DAG 其中包括各种包和模块中的函数和类 还有 Operator 子类 每个团队都会将自己的 D
  • 语言验证消息

    我在用ASP NET MVC 5 我正在尝试获取消息ValidationMessageFor法语 xxx 字段为必填项 gt Le champ xxx est manquant 我已经在两台服务器上部署了我的网站 Windows Serve
  • 如何检测和调试多线程问题?

    这是后续这个问题 https stackoverflow com questions 493311 how to write safe correct multi threaded code in net 我在这一点上没有得到任何意见 这是
  • 使用 websocket 处理连接丢失

    我最近设置了一个工作正常的本地 WebSocket 服务器 但是我在理解应该如何处理客户端或服务器都不是故意启动的连接突然丢失时遇到了一些麻烦 即 服务器断电 以太网电缆拔出等 我需要客户端知道连接是否在 10 秒内丢失 客户端 连接很简单
  • 如何将h1和h2写在同一行?

    我有一个页面 我只想制作一个标题 该标头是一个 h1 文本左对齐 并且 h2 右对齐 在同一行 在它们之后 hr 到目前为止 我的代码如下所示 如果您测试它 您会发现它是错误的 h1 align left Title h1 h2 align
  • 如何以整数形式反转 RGB 颜色?

    给定 32 位无符号整数形式的 RGB 颜色 例如 0xFF00FF 如何反转它 获得负颜色 而不使用位移操作提取其各个分量 我想知道是否可以仅使用按位运算 AND OR XOR 更准确地说 使用最少指令数的算法是什么 我觉得就是这么简单
  • 如何从 JSESSIONID 加载 Java HttpSession?

    我想获得JavaHttpSession通过 JSESSIONID 是否可以 如果是 怎么办 您基本上需要手动将它们全部收集在一个Map https docs oracle com en java javase 17 docs api jav
  • android应用程序可以检查手机的版本吗

    我想编写一个使用动态壁纸的应用程序 仅版本 7 及更高版本支持此功能 应用程序是否可以检查 Android 手机的版本 并根据版本运行不同的代码 例如使用动态壁纸或静态背景 你有一个代码示例吗 这需要特殊权限吗 假设您需要 Android
  • 使用pauseOnConnect 通过 https 传递连接

    我正在使用pauseOnConnect选项开启net createServer 允许我将连接传递给我使用集群创建的工作人员 server net createServer pauseOnConnect true function conne
  • 使用Spring boot和javafx会消耗大量内存吗?

    我愿意在我的 JavaFX 应用程序中使用 Spring boot 技术 以获得其依赖注入的优势 但我想知道对内存的影响 因为你知道任何带有 组件 符号的类都会被加载到 MetaSpace 因为 Spring boot 会从中创建一个静态对
  • Laravel 的 5.3 通行证和 api 路线

    我正在使用 Laravel Framework 版本 5 3 9 新下载的内容没有通过作曲家添加任何内容 除了 laravel passport 1 0 我做了中建议的所有事情docs https laravel com docs mast
  • Visual Studio 2010 代码覆盖率 - 找不到由检测实用程序创建的备份文件

    我尝试在 VS 2010 中运行代码覆盖率 但遇到以下错误 不生成覆盖范围信息 代码覆盖率就地检测 无法完全备份二进制文件 MyProject dll 找不到由检测实用程序创建的备份文件 MyProject dll orig 检查为测试运行
  • 使用 PHP/MySQL 比较标签组以查找相似性/分数

    如何将一组标签与数据库中另一个帖子的标签进行比较以获取相关帖子 我想做的是将帖子上的一组标签与另一个帖子的标签进行比较 但不是每个标签单独 假设您想根据帖子中的标签获取真正相关的项目 然后从最相关到 最不相关的顺序显示它们 每次都必须显示三
  • 如何在 C# 中发出 HTTP 请求 [重复]

    这个问题在这里已经有答案了 我如何在 Windows 中用 C 发出卷曲请求或 我想使用此参数发出网络请求 它应该收到有效的响应 request curl http www1 bloomingdales com api store v2 s
  • Spark阶段交换的意义

    谁能解释一下我的 Spark DAG 中的 Spark 阶段中交换的含义 我的大部分阶段要么以交换开始 要么以交换结束 1 WholeStageCodeGen gt 交换 2 交换 gt WholeStageCodeGen gt SortA