apache-flink - 关于 Flink 的两个名词
问题描述
任何人都可以帮助验证以下项目的条款吗?
- 事件时间和事件摄取时间之间的持续时间。我提出了一个术语,叫做“排队时间”。
- 当前时间戳与正在进行的窗口中最后一个事件的时间之间的持续时间。我提出了一个术语,叫做“空闲时间”。
我所做的条款是否正确?非常感谢您的建议。
我目前正在参与编写一些关于 Flink 的文档。
解决方案
我认为这些术语在某些情况下效果很好,但总的来说我有一些保留意见。例如,考虑批处理,或(重新)摄取流应用程序中的历史数据。“排队时间”是否有意义地描述了这种情况下事件时间和摄取时间之间的持续时间?也许,也许不是。或者考虑在中断后开始恢复时的情况:此时当前时间戳和窗口中最后一个事件之间的差异不是由于空闲源,而是由于停机时间。
在第一种情况下,感觉您的兴趣在于描述和测量不同的延迟来源。在这种情况下,我认为区分发布延迟(事件创建和事件在队列中存储之间的时间)、摄取延迟(发布到消息代理和随后摄取到 Flink 之间的时间)和processing delay,即 Flink 处理事件的时间。处理延迟是由水印、序列化、网络缓冲、检查点屏障对齐、两阶段提交等引起的。
我不太清楚idle time背后的意图,但也许这可以定义为自上次事件被摄取以来在 flink 源上经过的时间,或者相对于任何特定的操作员实例,自上次收到事件以来的时间。
推荐阅读
- android - 在 Fragment 上获取当前设备位置
- asp.net-core - 如何使用 signalr_client 颤振通过标头将数据发送到服务器
- cordova - Ionic 4 应用程序无法在 Android 设备中运行
- c# - 在多个窗体中重复使用相同的方法
- python - OCR 目录中的所有 .tif 图像
- go - 如何读取 cookie?
- laravel - Laravel 从 5.2 升级到 5.7 的问题
- r - 有没有办法在 x 轴上将日期细分为更小的部分?
- javascript - 简化和排序从现有数组中创建新数组
- javascript - 使用 Apollo 客户端进行外部状态管理?