CloudWatch 中的 KDA 指标与 Flink 指标不同

发布于 2025-01-16 22:56:33 字数 944 浏览 6 评论 0原文

我在 AWS Kinesis Data Analytics 上部署了一个 Flink 应用程序。 我当前的设置是:

Parallelism=128
Parallelism per KPU=4

我遇到的问题是,Flink Web UI 上显示的计数与 Cloudwatch 中显示的计数之间存在很大差异,即使对于开箱即用的指标也是如此。

示例:

来自 Flink UI 的计数:

发送的记录:接近 10 亿条 输入图片此处描述

来自 Cloudwatch 的计数:

NumRecordsIn:

在此处输入图像描述

NumRecordsOut: 输入图片此处描述

这两个数字都接近 1080 万。

KDA 的指标在任务 级别配置。

我想知道为什么我会看到如此巨大的差异。并行性对计数有影响吗?

FWIW,我添加了一个跟踪 numRecordsIn 的自定义指标。这似乎也类似于开箱即用的 NumRecordsIn 指标。

I have a Flink application deployed on AWS Kinesis Data Analytics.
My current setting is:

Parallelism=128
Parallelism per KPU=4

The issue I have is, there is a big difference between the counts shown on the Flink web UI vs the Count shown in Cloudwatch even for Metrics that come out of the box.

Example:

Counts from Flink UI:

Records Sent: Close to 1 Billion
enter image description here

Count from Cloudwatch:

NumRecordsIn:

enter image description here

NumRecordsOut:
enter image description here

Both of these are close to 10.8Million.

The metrics for KDA are configured at Task level.

I am wondering why I am seeing this huge discrepancy. Is the parallelism having some effect on the counts?

FWIW, I added a custom metric which tracks the numRecordsIn. That also seems to be similar to the out of the box NumRecordsIn metric.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

总以为 2025-01-23 22:56:33

您似乎正在将作业生命周期内的总 numRecordsIn/Out(大约 10 亿)与一分钟内出现的最大值(大约 1000 万)进行比较。

It appears that you are comparing the total numRecordsIn/Out across the lifetime of the job (roughly 1 billion) to the maximum ever seen in one minute (around 10 million).

最美不过初阳 2025-01-23 22:56:33

大卫上面提到的都是正确的。我终于找到了如何将 Flink UI 中的值获取到 CloudWatch。 CloudWatch 的问题在于,它不包括并行性。因此,为了获取特定任务发出的记录数,请获取该任务的 Average(numRecordsOut) 并将其乘以并行度。

What David has mentioned above is correct. I was finally able to find out how to get the values from Flink UI on to CloudWatch. The problem with CloudWatch is that, it does not include the parallelism. So in order to get the count of records emitted by a specific task, take the Average(numRecordsOut) of that task and multiply it by parallelism.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文