谷歌数据流运行极其缓慢缓慢
Posted
技术标签:
【中文标题】谷歌数据流运行极其缓慢缓慢【英文标题】:google dataflow running extremely slow slow 【发布时间】:2019-04-27 22:28:25 【问题描述】:我编写了简单的程序来读取 CSV(电子邮件)并在数据存储中查找关联的 id。这也会搜索 AES 加密电子邮件。
使用 Eclipse 从directrunner
运行良好,但为了获得数据流中的流程图,我使用了dataflowruuner
。这启用了执行图,但即使有 3 条记录,它的运行正弦曲线也超过 30 分钟。为什么?
使用 - DataflowPipelineOptions options = PipelineOptionsFactory.as(DataflowPipelineOptions.class);
而不是
PipelineOptions options = PipelineOptionsFactory.fromArgs(option).withValidation().create();
【问题讨论】:
【参考方案1】:这取决于您的管道的具体情况。通常,与直接运行器相比,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【讨论】:
以上是关于谷歌数据流运行极其缓慢缓慢的主要内容,如果未能解决你的问题,请参考以下文章
Kendo MVC ToDataSourceResult 对于大型 IQueryable 极其缓慢