Hi,
我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做? 谢谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 |
有人知道么
| | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2019年12月31日 17:14,张江 写道: Hi, 我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做? 谢谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 |
算子内记时,测流输出。
------------------ 原始邮件 ------------------ 发件人: "张江"<[hidden email]>; 发送时间: 2020年1月1日(星期三) 晚上8:44 收件人: "user-zh"<[hidden email]>; 主题: 回复:如何获取算子处理一条数据记录的时间 有人知道么 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2019年12月31日 17:14,张江 写道: Hi, 我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做? 谢谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 |
可以讲的详细点么
非常感谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 08:09,猫猫 写道: 算子内记时,测流输出。 ------------------ 原始邮件 ------------------ 发件人: "张江"<[hidden email]>; 发送时间: 2020年1月1日(星期三) 晚上8:44 收件人: "user-zh"<[hidden email]>; 主题: 回复:如何获取算子处理一条数据记录的时间 有人知道么 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2019年12月31日 17:14,张江 写道: Hi, 我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做? 谢谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 |
只有如下算子支持测流输出。
ProcessFunction CoProcessFunction ProcessWindowFunction ProcessAllWindowFunction 如果要计时的话,需要将你的逻辑全部放到相关函数中。在逐条处理的时候,记录数据ID和时间,写成一个新的数据流并行输出出去。 但实际上我们很少这样做,因为很难将所有逻辑全部放到一个算子中。 比较常见的方式是,在整体上数据有流入和流出,所以增加流入和流出算子,在数据经过的时候,记录数据ID,并形成新的数据流,然后写入到数据库进行合并就行了。 这种可以考虑采样的方式,例如根据ID取模获取数据,但缺点是监控嵌入了执行逻辑,并且必须有并行度为1的统计算子,可能会影响性能。 更为合理的看法是,当数据量不堆积的时候,时间也不是问题。 我们只要看kafka-offset的消费速度就行了。一定时间消费多少条,平均下来就是速率的。适用于压满性能的时候用。 可能还有更好的处理方式,我还没有了解,flink好像自身也有一定的监控能力。 但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间? 你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间? 提供一下场景为佳。 ------------------ 原始邮件 ------------------ 发件人: "张江"<[hidden email]>; 发送时间: 2020年1月2日(星期四) 上午9:27 收件人: "user-zh"<[hidden email]>; 抄送: "user-zh"<[hidden email]>; 主题: 回复:如何获取算子处理一条数据记录的时间 可以讲的详细点么 非常感谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 08:09,猫猫 写道: 算子内记时,测流输出。 ------------------&nbsp;原始邮件&nbsp;------------------ 发件人:&nbsp;"张江"<[hidden email]&gt;; 发送时间:&nbsp;2020年1月1日(星期三) 晚上8:44 收件人:&nbsp;"user-zh"<[hidden email]&gt;; 主题:&nbsp;回复:如何获取算子处理一条数据记录的时间 有人知道么 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2019年12月31日 17:14,张江 写道: Hi, 我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做? 谢谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 |
我其实是想知道算子的数据处理能力,得到一个算子每秒钟最多能处理多少条数据。比如说map算子,我需要知道它一秒钟最多能转换多少数据,之后根据source端的数据量来设置算子的并行度
| | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 10:28,猫猫 写道: 只有如下算子支持测流输出。 ProcessFunction CoProcessFunction ProcessWindowFunction ProcessAllWindowFunction 如果要计时的话,需要将你的逻辑全部放到相关函数中。在逐条处理的时候,记录数据ID和时间,写成一个新的数据流并行输出出去。 但实际上我们很少这样做,因为很难将所有逻辑全部放到一个算子中。 比较常见的方式是,在整体上数据有流入和流出,所以增加流入和流出算子,在数据经过的时候,记录数据ID,并形成新的数据流,然后写入到数据库进行合并就行了。 这种可以考虑采样的方式,例如根据ID取模获取数据,但缺点是监控嵌入了执行逻辑,并且必须有并行度为1的统计算子,可能会影响性能。 更为合理的看法是,当数据量不堆积的时候,时间也不是问题。 我们只要看kafka-offset的消费速度就行了。一定时间消费多少条,平均下来就是速率的。适用于压满性能的时候用。 可能还有更好的处理方式,我还没有了解,flink好像自身也有一定的监控能力。 但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间? 你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间? 提供一下场景为佳。 ------------------ 原始邮件 ------------------ 发件人: "张江"<[hidden email]>; 发送时间: 2020年1月2日(星期四) 上午9:27 收件人: "user-zh"<[hidden email]>; 抄送: "user-zh"<[hidden email]>; 主题: 回复:如何获取算子处理一条数据记录的时间 可以讲的详细点么 非常感谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 08:09,猫猫 写道: 算子内记时,测流输出。 ------------------&nbsp;原始邮件&nbsp;------------------ 发件人:&nbsp;"张江"<[hidden email]&gt;; 发送时间:&nbsp;2020年1月1日(星期三) 晚上8:44 收件人:&nbsp;"user-zh"<[hidden email]&gt;; 主题:&nbsp;回复:如何获取算子处理一条数据记录的时间 有人知道么 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2019年12月31日 17:14,张江 写道: Hi, 我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做? 谢谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 |
可以看看现有metrics是否满足需求,例如numRecordsInPerSecond。 详细可以参考https://ci.apache.org/projects/flink/flink-docs-stable/monitoring/metrics.html#io
------------------------------------------------------------------ 发件人:张江 <[hidden email]> 发送时间:2020年1月2日(星期四) 19:24 收件人: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好像自身也有一定的监控能力。 但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间? 你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间? 提供一下场景为佳。 ------------------ 原始邮件 ------------------ 发件人: "张江"<[hidden email]>; 发送时间: 2020年1月2日(星期四) 上午9:27 收件人: "user-zh"<[hidden email]>; 抄送: "user-zh"<[hidden email]>; 主题: 回复:如何获取算子处理一条数据记录的时间 可以讲的详细点么 非常感谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 08:09,猫猫 写道: 算子内记时,测流输出。 ------------------&nbsp;原始邮件&nbsp;------------------ 发件人:&nbsp;"张江"<[hidden email]&gt;; 发送时间:&nbsp;2020年1月1日(星期三) 晚上8:44 收件人:&nbsp;"user-zh"<[hidden email]&gt;; 主题:&nbsp;回复:如何获取算子处理一条数据记录的时间 有人知道么 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2019年12月31日 17:14,张江 写道: Hi, 我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做? 谢谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 |
In reply to this post by pkuvisdudu
你可以在算子中计算,然后上传到自定义的Flink Metrics中,这样就能看到平均一个算子的时间了.
发件人: 张江 发送时间: 2020年1月2日 19:18 收件人: user-zh 抄送: user-zh 主题: 回复:如何获取算子处理一条数据记录的时间 我其实是想知道算子的数据处理能力,得到一个算子每秒钟最多能处理多少条数据。比如说map算子,我需要知道它一秒钟最多能转换多少数据,之后根据source端的数据量来设置算子的并行度 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 10:28,猫猫 写道: 只有如下算子支持测流输出。 ProcessFunction CoProcessFunction ProcessWindowFunction ProcessAllWindowFunction 如果要计时的话,需要将你的逻辑全部放到相关函数中。在逐条处理的时候,记录数据ID和时间,写成一个新的数据流并行输出出去。 但实际上我们很少这样做,因为很难将所有逻辑全部放到一个算子中。 比较常见的方式是,在整体上数据有流入和流出,所以增加流入和流出算子,在数据经过的时候,记录数据ID,并形成新的数据流,然后写入到数据库进行合并就行了。 这种可以考虑采样的方式,例如根据ID取模获取数据,但缺点是监控嵌入了执行逻辑,并且必须有并行度为1的统计算子,可能会影响性能。 更为合理的看法是,当数据量不堆积的时候,时间也不是问题。 我们只要看kafka-offset的消费速度就行了。一定时间消费多少条,平均下来就是速率的。适用于压满性能的时候用。 可能还有更好的处理方式,我还没有了解,flink好像自身也有一定的监控能力。 但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间? 你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间? 提供一下场景为佳。 ------------------ 原始邮件 ------------------ 发件人: "张江"<[hidden email]>; 发送时间: 2020年1月2日(星期四) 上午9:27 收件人: "user-zh"<[hidden email]>; 抄送: "user-zh"<[hidden email]>; 主题: 回复:如何获取算子处理一条数据记录的时间 可以讲的详细点么 非常感谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年01月02日 08:09,猫猫 写道: 算子内记时,测流输出。 ------------------&nbsp;原始邮件&nbsp;------------------ 发件人:&nbsp;"张江"<[hidden email]&gt;; 发送时间:&nbsp;2020年1月1日(星期三) 晚上8:44 收件人:&nbsp;"user-zh"<[hidden email]&gt;; 主题:&nbsp;回复:如何获取算子处理一条数据记录的时间 有人知道么 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2019年12月31日 17:14,张江 写道: Hi, 我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做? 谢谢 | | 张江 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 |
好的,谢谢
在 2020-01-06 20:04:09,"戴嘉诚" <[hidden email]> 写道: >你可以在算子中计算,然后上传到自定义的Flink Metrics中,这样就能看到平均一个算子的时间了. > >发件人: 张江 >发送时间: 2020年1月2日 19:18 >收件人: user-zh >抄送: user-zh >主题: 回复:如何获取算子处理一条数据记录的时间 > >我其实是想知道算子的数据处理能力,得到一个算子每秒钟最多能处理多少条数据。比如说map算子,我需要知道它一秒钟最多能转换多少数据,之后根据source端的数据量来设置算子的并行度 > > > > >| | >张江 >| >| >邮箱:[hidden email] >| > >签名由 网易邮箱大师 定制 > >在2020年01月02日 10:28,猫猫 写道: >只有如下算子支持测流输出。 > >ProcessFunction > >CoProcessFunction > >ProcessWindowFunction > >ProcessAllWindowFunction > >如果要计时的话,需要将你的逻辑全部放到相关函数中。在逐条处理的时候,记录数据ID和时间,写成一个新的数据流并行输出出去。 >但实际上我们很少这样做,因为很难将所有逻辑全部放到一个算子中。 > > >比较常见的方式是,在整体上数据有流入和流出,所以增加流入和流出算子,在数据经过的时候,记录数据ID,并形成新的数据流,然后写入到数据库进行合并就行了。 >这种可以考虑采样的方式,例如根据ID取模获取数据,但缺点是监控嵌入了执行逻辑,并且必须有并行度为1的统计算子,可能会影响性能。 > >更为合理的看法是,当数据量不堆积的时候,时间也不是问题。 >我们只要看kafka-offset的消费速度就行了。一定时间消费多少条,平均下来就是速率的。适用于压满性能的时候用。 > >可能还有更好的处理方式,我还没有了解,flink好像自身也有一定的监控能力。 >但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间? >你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间? > >提供一下场景为佳。 > > > > > > >------------------ 原始邮件 ------------------ >发件人: "张江"<[hidden email]>; >发送时间: 2020年1月2日(星期四) 上午9:27 >收件人: "user-zh"<[hidden email]>; >抄送: "user-zh"<[hidden email]>; >主题: 回复:如何获取算子处理一条数据记录的时间 > > > >可以讲的详细点么 >非常感谢 > > >| | >张江 >| >| >邮箱:[hidden email] >| > >签名由 网易邮箱大师 定制 > >在2020年01月02日 08:09,猫猫 写道: >算子内记时,测流输出。 > > >------------------&nbsp;原始邮件&nbsp;------------------ >发件人:&nbsp;"张江"<[hidden email]&gt;; >发送时间:&nbsp;2020年1月1日(星期三) 晚上8:44 >收件人:&nbsp;"user-zh"<[hidden email]&gt;; > >主题:&nbsp;回复:如何获取算子处理一条数据记录的时间 > > > >有人知道么 > > > > >| | >张江 >| >| >邮箱:[hidden email] >| > >签名由 网易邮箱大师 定制 > >在2019年12月31日 17:14,张江 写道: >Hi, > > >我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做? > > >谢谢 > > >| | >张江 >| >| >邮箱:[hidden email] >| > >签名由 网易邮箱大师 定制 > |
Free forum by Nabble | Edit this page |