google-cloud-dataflow - 谷歌数据流运行极其缓慢缓慢
问题描述
我编写了简单的程序来读取 CSV(电子邮件)并在数据存储中查找关联的 id。这也会搜索 AES 加密电子邮件。
使用 eclipse运行良好,directrunner
但要在我使用的数据流中获取流程图dataflowruuner
。这启用了执行图,但即使有 3 条记录,它的运行正弦曲线也超过 30 分钟。为什么?
使用 -DataflowPipelineOptions options = PipelineOptionsFactory.as(DataflowPipelineOptions.class);
代替
PipelineOptions options = PipelineOptionsFactory.fromArgs(option).withValidation().create();
解决方案
这取决于您的管道的具体情况。一般来说,与直接运行器相比,Dataflow 中的管道启动时间会更慢。例如,它需要构建和上传管道,然后启动机器,然后需要获取管道定义并开始执行它。在直接运行器中执行管道时,您通常只需在本地编译和运行代码,类似于任何其他程序。因此,对于难以并行化的小型数据集的琐碎情况,使用 Dataflow 的性能优势并不明显。
但是,如果管道在 Dataflow 中从未停止,那么您需要查看是否有任何错误阻止它完成(例如,可能存在一些身份验证错误、限制、资源不足或其他原因)。您可以从查看 Stackdriver 开始:https ://cloud.google.com/dataflow/docs/guides/using-stackdriver-monitoring
一些文档链接,希望对您有所帮助:
- [0] 对管道进行故障排除 - https://cloud.google.com/dataflow/docs/guides/troubleshooting-your-pipeline
- [1] 直接亚军 - https://beam.apache.org/documentation/runners/direct/
- [2] 数据流运行器 - https://beam.apache.org/documentation/runners/dataflow/
- [3] Beam + 数据流幻灯片:https ://docs.google.com/presentation/d/1SlzllDkCtWdg18qKFhxB1EkQAW2ZiG-r80BykODcvVY
推荐阅读
- http - 如何在 Cloudflare Workers 中不丢失 301 https 重定向的引用值
- python-3.5 - Python请求SyntaxError:无效的语法
- python - 通过子进程关闭PC后会发生什么?
- java - 在 opencv 4.1.0 中无法解析 DescriptorExtractor 和 FeatureDetector 的导入
- javascript - How to preload script using integrity and crossorigin
- reactjs - React 不会渲染多个组件
- java - 如何防止 Eclipse 格式化程序在行注释开头插入空格
- javascript - TouchableOpacity 不显示图像
- php - 如何按月份或年份计数和分组,月份为零
- python - ModuleNotFoundError: No module named 'xyz'" 在执行 pip install xyz 之后