apache-spark - 一些 Spark 作业没有初始化,也没有从 Spark 写入操作中取回控制权
问题描述
我一直在使用 Spark 3.1.1 和 Java 驱动程序,并为我的数据维护 spark Cache 并创建了视图。进行以下转换。
- 从视图中查询数据
- 对一些数据进行 MySQL 查询。
- 对 DataSet1 和 DataSet2 执行并集
- 执行 RegexTokenizer、StopWordsRemover 转换。
- 对从 StopWordsRemover 转换的单词使用爆炸功能。
- 对单词爆炸执行分组并使用小型广播数据集进行连接操作。
- 执行写入操作。
在这里,我没有从写入操作中获得控制权。在 Spark UI 和 Spark 驱动程序侦听器中,我可以看到直到 RegexTokenizer、StopWordsRemover 转换的作业和任务。对于剩余的转换,不会创建任何作业,也不会重新获得控制权。
如果我在进行第 4 次转换之前执行 DataSet3.cache(),则不会观察到任何问题。
请帮助我理解为什么没有创建火花作业并且在第一种情况下没有获得控制权。
解决方案
推荐阅读
- angular - 通过Angular组件将函数作为参数传递给(单击)事件
- java - 提取 JSON 响应数据的问题
- ios - 在 Adobe AIR 应用程序中使用完整的 iPhone X 分辨率
- jquery - 如何使用带有变量和其他参数的 jQuery 选择器
- reactjs - Button On press 仅适用于 React Native 中按钮的某些区域
- python-3.x - Python3.6.6 argparse 用于带有参数列表的负字符串值
- amazon-s3 - Ansible Tower 是否与 aws_S3 模块兼容?
- java - 使用泛型和动态类类型返回类型转换
- python-3.x - pandas df:如果不存在则添加列,将值从dict添加到新列
- c++ - 检查枚举类是否可用的简单宏