那是不是就是1s的滑动窗口呢?
---原始邮件--- 发件人: "张江"<[hidden email]> 发送时间: 2020年1月2日(周四) 晚上7:18 收件人: "user-zh"<[hidden email]>; 抄送: "user-zh"<[hidden email]>; 主题: 回复:如何获取算子处理一条数据记录的时间 我其实是想知道算子的数据处理能力,得到一个算子每秒钟最多能处理多少条数据。比如说map算子,我需要知道它一秒钟最多能转换多少数据,之后根据source端的数据量来设置算子的并行度 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 10:28,猫猫 写道: 只有如下算子支持测流输出。 ProcessFunction CoProcessFunction ProcessWindowFunction ProcessAllWindowFunction 如果要计时的话,需要将你的逻辑全部放到相关函数中。在逐条处理的时候,记录数据ID和时间,写成一个新的数据流并行输出出去。 但实际上我们很少这样做,因为很难将所有逻辑全部放到一个算子中。 比较常见的方式是,在整体上数据有流入和流出,所以增加流入和流出算子,在数据经过的时候,记录数据ID,并形成新的数据流,然后写入到数据库进行合并就行了。 这种可以考虑采样的方式,例如根据ID取模获取数据,但缺点是监控嵌入了执行逻辑,并且必须有并行度为1的统计算子,可能会影响性能。 更为合理的看法是,当数据量不堆积的时候,时间也不是问题。 我们只要看kafka-offset的消费速度就行了。一定时间消费多少条,平均下来就是速率的。适用于压满性能的时候用。 可能还有更好的处理方式,我还没有了解,flink好像自身也有一定的监控能力。 但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间? 你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间? 提供一下场景为佳。 ------------------&nbsp;原始邮件&nbsp;------------------ 发件人:&nbsp;"张江"<[hidden email]&gt;; 发送时间:&nbsp;2020年1月2日(星期四) 上午9:27 收件人:&nbsp;"user-zh"<[hidden email]&gt;; 抄送:&nbsp;"user-zh"<[hidden email]&gt;; 主题:&nbsp;回复:如何获取算子处理一条数据记录的时间 可以讲的详细点么 非常感谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 08:09,猫猫 写道: 算子内记时,测流输出。 ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------ 发件人:&amp;nbsp;"张江"<[hidden email]&amp;gt;; 发送时间:&amp;nbsp;2020年1月1日(星期三) 晚上8:44 收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;; 主题:&amp;nbsp;回复:如何获取算子处理一条数据记录的时间 有人知道么 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2019年12月31日 17:14,张江 写道: Hi, 我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做? 谢谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 |
就一般的算子,我只是想知道怎么得到,有个例子最好😂
| | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 19:52,CrazyTomatoOo 写道: 那是不是就是1s的滑动窗口呢? ---原始邮件--- 发件人: "张江"<[hidden email]> 发送时间: 2020年1月2日(周四) 晚上7:18 收件人: "user-zh"<[hidden email]>; 抄送: "user-zh"<[hidden email]>; 主题: 回复:如何获取算子处理一条数据记录的时间 我其实是想知道算子的数据处理能力,得到一个算子每秒钟最多能处理多少条数据。比如说map算子,我需要知道它一秒钟最多能转换多少数据,之后根据source端的数据量来设置算子的并行度 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 10:28,猫猫 写道: 只有如下算子支持测流输出。 ProcessFunction CoProcessFunction ProcessWindowFunction ProcessAllWindowFunction 如果要计时的话,需要将你的逻辑全部放到相关函数中。在逐条处理的时候,记录数据ID和时间,写成一个新的数据流并行输出出去。 但实际上我们很少这样做,因为很难将所有逻辑全部放到一个算子中。 比较常见的方式是,在整体上数据有流入和流出,所以增加流入和流出算子,在数据经过的时候,记录数据ID,并形成新的数据流,然后写入到数据库进行合并就行了。 这种可以考虑采样的方式,例如根据ID取模获取数据,但缺点是监控嵌入了执行逻辑,并且必须有并行度为1的统计算子,可能会影响性能。 更为合理的看法是,当数据量不堆积的时候,时间也不是问题。 我们只要看kafka-offset的消费速度就行了。一定时间消费多少条,平均下来就是速率的。适用于压满性能的时候用。 可能还有更好的处理方式,我还没有了解,flink好像自身也有一定的监控能力。 但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间? 你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间? 提供一下场景为佳。 ------------------&nbsp;原始邮件&nbsp;------------------ 发件人:&nbsp;"张江"<[hidden email]&gt;; 发送时间:&nbsp;2020年1月2日(星期四) 上午9:27 收件人:&nbsp;"user-zh"<[hidden email]&gt;; 抄送:&nbsp;"user-zh"<[hidden email]&gt;; 主题:&nbsp;回复:如何获取算子处理一条数据记录的时间 可以讲的详细点么 非常感谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 08:09,猫猫 写道: 算子内记时,测流输出。 ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------ 发件人:&amp;nbsp;"张江"<[hidden email]&amp;gt;; 发送时间:&amp;nbsp;2020年1月1日(星期三) 晚上8:44 收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;; 主题:&amp;nbsp;回复:如何获取算子处理一条数据记录的时间 有人知道么 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2019年12月31日 17:14,张江 写道: Hi, 我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做? 谢谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 |
Hi,张江
Flink官方支持追踪record的latency,你可以参考[1] 启用这个功能,不过这个功能会极大地降低你的处理性能,只能用作debug使用。 如果想知道真实使用场景下的性能指标,可以参考latency的metrics [2] 来衡量operator的处理性能。 [1] https://ci.apache.org/projects/flink/flink-docs-stable/monitoring/metrics.html#latency-tracking [2] https://ci.apache.org/projects/flink/flink-docs-stable/monitoring/metrics.html#io 祝好 唐云 ________________________________ From: 张江 <[hidden email]> Sent: Thursday, January 2, 2020 22:04 To: user-zh <[hidden email]> Cc: user-zh <[hidden email]> Subject: 回复:如何获取算子处理一条数据记录的时间 就一般的算子,我只是想知道怎么得到,有个例子最好😂 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 19:52,CrazyTomatoOo 写道: 那是不是就是1s的滑动窗口呢? ---原始邮件--- 发件人: "张江"<[hidden email]> 发送时间: 2020年1月2日(周四) 晚上7:18 收件人: "user-zh"<[hidden email]>; 抄送: "user-zh"<[hidden email]>; 主题: 回复:如何获取算子处理一条数据记录的时间 我其实是想知道算子的数据处理能力,得到一个算子每秒钟最多能处理多少条数据。比如说map算子,我需要知道它一秒钟最多能转换多少数据,之后根据source端的数据量来设置算子的并行度 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 10:28,猫猫 写道: 只有如下算子支持测流输出。 ProcessFunction CoProcessFunction ProcessWindowFunction ProcessAllWindowFunction 如果要计时的话,需要将你的逻辑全部放到相关函数中。在逐条处理的时候,记录数据ID和时间,写成一个新的数据流并行输出出去。 但实际上我们很少这样做,因为很难将所有逻辑全部放到一个算子中。 比较常见的方式是,在整体上数据有流入和流出,所以增加流入和流出算子,在数据经过的时候,记录数据ID,并形成新的数据流,然后写入到数据库进行合并就行了。 这种可以考虑采样的方式,例如根据ID取模获取数据,但缺点是监控嵌入了执行逻辑,并且必须有并行度为1的统计算子,可能会影响性能。 更为合理的看法是,当数据量不堆积的时候,时间也不是问题。 我们只要看kafka-offset的消费速度就行了。一定时间消费多少条,平均下来就是速率的。适用于压满性能的时候用。 可能还有更好的处理方式,我还没有了解,flink好像自身也有一定的监控能力。 但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间? 你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间? 提供一下场景为佳。 ------------------&nbsp;原始邮件&nbsp;------------------ 发件人:&nbsp;"张江"<[hidden email]&gt;; 发送时间:&nbsp;2020年1月2日(星期四) 上午9:27 收件人:&nbsp;"user-zh"<[hidden email]&gt;; 抄送:&nbsp;"user-zh"<[hidden email]&gt;; 主题:&nbsp;回复:如何获取算子处理一条数据记录的时间 可以讲的详细点么 非常感谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 08:09,猫猫 写道: 算子内记时,测流输出。 ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------ 发件人:&amp;nbsp;"张江"<[hidden email]&amp;gt;; 发送时间:&amp;nbsp;2020年1月1日(星期三) 晚上8:44 收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;; 主题:&amp;nbsp;回复:如何获取算子处理一条数据记录的时间 有人知道么 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2019年12月31日 17:14,张江 写道: Hi, 我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做? 谢谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 |
好的,谢谢。我在flink forward asia 2019上听到马庆祥老师讲flink动态资源调整,他是获取了flink metrics的指标进行计算的,如截图所示。但我自己获取metrics似乎没有发现这个指标信息,不知道是什么原因? 在2020年01月03日 02:42,[hidden email] 写道: Hi,张江 |
如你截图所示,目前 1.9 版本中第一二个指标应该是有的,后面四个指标建议 check 一下当时讲师说的 Flink 版本号 张江 <[hidden email]> 于2020年1月3日周五 下午3:36写道:
|
Free forum by Nabble | Edit this page |