python - 在 python 中运行管道期间访问 Apache Beam 指标值?
问题描述
我正在使用 Apache Beam Python SDK 的直接运行程序来执行类似于字数统计示例的简单管道。由于我正在处理一个大文件,我想在执行期间显示指标。我知道如何报告指标,但在运行期间我找不到任何访问指标的方法。
我在 中找到了该metrics()
函数PipelineResult
,但似乎我只PipelineResult
从该函数中获取了一个对象Pipeline.run()
,这是一个阻塞调用。在 Java SDK 中我找到了一个MetricsSink
,可以在 上配置PipelineOptions
,但我没有在 Python SDK 中找到等效项。
如何在管道执行期间访问实时指标?
解决方案
直接运行器通常用于测试、开发和小型作业,并且Pipeline.run()
为了简单起见被设置为阻塞。在其他运行Pipeline.run()
器上是异步的,结果可用于在执行期间监视管道进度。
您可以尝试运行像 Flink 这样的 OSS 运行器的本地版本来获得这种行为。
推荐阅读
- javascript - React Bootstrap Carousal 样式未渲染
- php - 使用 PHP 从另一个页面获取数据 cookie 到另一个页面
- multithreading - 多线程 DirectoryEntry 搜索完成缓慢
- jquery - 在视差效果jQuery上校正图片
- c# - 双显示器上的一种形式,全屏
- go - 关闭终端中的回显 - Golang
- c++ - 提高计划绩效
- crystal-reports-2010 - Crystal Report 仅从数据库中的字符串字段中提取数字
- java - 从 setDisplayHomeAsUpEnabled 创建的向上箭头的哪些部分是可变和可修改的?
- javascript - 在某个值处停止上一个和下一个按钮的增量 - ReactJS