apache-spark - Apache Spark:是否可以在 spark 作业中获取数据集计数?
问题描述
有时在我们的集群中运行的一些 Spark 作业运行时间过长不是因为优化不好,而是因为算法的逻辑不好。在大多数情况下,这是一些不必要的连接产生太多行的结果。通常我们通过查看 Spark 执行计划来发现此类作业,我们可以通过查看蓝色阶段标签中的“输出行数:xxx”来找到此类连接。
我想了解 - 是否可以优化此过程并以某种方式自动通知程序员该作业在某些数据集中有太多行(执行后)?
也许我们可以在日志中打印(无需在代码中手动计算数据集的大小)?也许在运行作业之后,我们可以以某种方式获得执行计划的输出并将其保存以供进一步调查?
解决方案
推荐阅读
- reactjs - React useState如何修改数组中的第一个对象
- arrays - 如何在 Powershell 中按对象的一个属性值对对象数组进行排序?
- c# - 仅序列化类的集合
- python - 如何将文件或图像作为 Keras 模型中的参数提供给 model.predict?
- python - 我试图制作一个 Python 时钟,但我无法让它循环
- ruby-on-rails - 如何在创建操作中调用 Select_tag
- components - 上层实体期待“输入”引脚,而下层实体正在使用“输出”引脚
- python - 如何在 docsify.js 上使用深色主题、翻译和搜索?
- angular - Angular/angularfire2 - 读取可观察的文档并将数据保存到对象。没有异步管道
- php - 电子邮件在本地主机和服务器上发送,但邮件未到达服务器