回复:如何获取算子处理一条数据记录的时间

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

回复:如何获取算子处理一条数据记录的时间

CrazyTomatoOo
那是不是就是1s的滑动窗口呢?



---原始邮件---
发件人: "张江"<[hidden email]&gt;
发送时间: 2020年1月2日(周四) 晚上7:18
收件人: "user-zh"<[hidden email]&gt;;
抄送: "user-zh"<[hidden email]&gt;;
主题: 回复:如何获取算子处理一条数据记录的时间


我其实是想知道算子的数据处理能力,得到一个算子每秒钟最多能处理多少条数据。比如说map算子,我需要知道它一秒钟最多能转换多少数据,之后根据source端的数据量来设置算子的并行度




| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2020年01月02日 10:28,猫猫 写道:
只有如下算子支持测流输出。

ProcessFunction

CoProcessFunction

ProcessWindowFunction

ProcessAllWindowFunction

如果要计时的话,需要将你的逻辑全部放到相关函数中。在逐条处理的时候,记录数据ID和时间,写成一个新的数据流并行输出出去。
但实际上我们很少这样做,因为很难将所有逻辑全部放到一个算子中。


比较常见的方式是,在整体上数据有流入和流出,所以增加流入和流出算子,在数据经过的时候,记录数据ID,并形成新的数据流,然后写入到数据库进行合并就行了。
这种可以考虑采样的方式,例如根据ID取模获取数据,但缺点是监控嵌入了执行逻辑,并且必须有并行度为1的统计算子,可能会影响性能。

更为合理的看法是,当数据量不堆积的时候,时间也不是问题。
我们只要看kafka-offset的消费速度就行了。一定时间消费多少条,平均下来就是速率的。适用于压满性能的时候用。

可能还有更好的处理方式,我还没有了解,flink好像自身也有一定的监控能力。
但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间?
你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间?

提供一下场景为佳。






------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
发件人:&amp;nbsp;"张江"<[hidden email]&amp;gt;;
发送时间:&amp;nbsp;2020年1月2日(星期四) 上午9:27
收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;
抄送:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;
主题:&amp;nbsp;回复:如何获取算子处理一条数据记录的时间



可以讲的详细点么
非常感谢


| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2020年01月02日 08:09,猫猫 写道:
算子内记时,测流输出。


------------------&amp;amp;nbsp;原始邮件&amp;amp;nbsp;------------------
发件人:&amp;amp;nbsp;"张江"<[hidden email]&amp;amp;gt;;
发送时间:&amp;amp;nbsp;2020年1月1日(星期三) 晚上8:44
收件人:&amp;amp;nbsp;"user-zh"<[hidden email]&amp;amp;gt;;

主题:&amp;amp;nbsp;回复:如何获取算子处理一条数据记录的时间



有人知道么




| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2019年12月31日 17:14,张江 写道:
Hi,


我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做?


谢谢


| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制
Reply | Threaded
Open this post in threaded view
|

回复:如何获取算子处理一条数据记录的时间

pkuvisdudu
就一般的算子,我只是想知道怎么得到,有个例子最好😂




| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2020年01月02日 19:52,CrazyTomatoOo 写道:
那是不是就是1s的滑动窗口呢?



---原始邮件---
发件人: "张江"<[hidden email]&gt;
发送时间: 2020年1月2日(周四) 晚上7:18
收件人: "user-zh"<[hidden email]&gt;;
抄送: "user-zh"<[hidden email]&gt;;
主题: 回复:如何获取算子处理一条数据记录的时间


我其实是想知道算子的数据处理能力,得到一个算子每秒钟最多能处理多少条数据。比如说map算子,我需要知道它一秒钟最多能转换多少数据,之后根据source端的数据量来设置算子的并行度




| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2020年01月02日 10:28,猫猫 写道:
只有如下算子支持测流输出。

ProcessFunction

CoProcessFunction

ProcessWindowFunction

ProcessAllWindowFunction

如果要计时的话,需要将你的逻辑全部放到相关函数中。在逐条处理的时候,记录数据ID和时间,写成一个新的数据流并行输出出去。
但实际上我们很少这样做,因为很难将所有逻辑全部放到一个算子中。


比较常见的方式是,在整体上数据有流入和流出,所以增加流入和流出算子,在数据经过的时候,记录数据ID,并形成新的数据流,然后写入到数据库进行合并就行了。
这种可以考虑采样的方式,例如根据ID取模获取数据,但缺点是监控嵌入了执行逻辑,并且必须有并行度为1的统计算子,可能会影响性能。

更为合理的看法是,当数据量不堆积的时候,时间也不是问题。
我们只要看kafka-offset的消费速度就行了。一定时间消费多少条,平均下来就是速率的。适用于压满性能的时候用。

可能还有更好的处理方式,我还没有了解,flink好像自身也有一定的监控能力。
但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间?
你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间?

提供一下场景为佳。






------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
发件人:&amp;nbsp;"张江"<[hidden email]&amp;gt;;
发送时间:&amp;nbsp;2020年1月2日(星期四) 上午9:27
收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;
抄送:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;
主题:&amp;nbsp;回复:如何获取算子处理一条数据记录的时间



可以讲的详细点么
非常感谢


| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2020年01月02日 08:09,猫猫 写道:
算子内记时,测流输出。


------------------&amp;amp;nbsp;原始邮件&amp;amp;nbsp;------------------
发件人:&amp;amp;nbsp;"张江"<[hidden email]&amp;amp;gt;;
发送时间:&amp;amp;nbsp;2020年1月1日(星期三) 晚上8:44
收件人:&amp;amp;nbsp;"user-zh"<[hidden email]&amp;amp;gt;;

主题:&amp;amp;nbsp;回复:如何获取算子处理一条数据记录的时间



有人知道么




| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2019年12月31日 17:14,张江 写道:
Hi,


我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做?


谢谢


| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制
Reply | Threaded
Open this post in threaded view
|

Re: 回复:如何获取算子处理一条数据记录的时间

Yun Tang
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]&gt;
发送时间: 2020年1月2日(周四) 晚上7:18
收件人: "user-zh"<[hidden email]&gt;;
抄送: "user-zh"<[hidden email]&gt;;
主题: 回复:如何获取算子处理一条数据记录的时间


我其实是想知道算子的数据处理能力,得到一个算子每秒钟最多能处理多少条数据。比如说map算子,我需要知道它一秒钟最多能转换多少数据,之后根据source端的数据量来设置算子的并行度




| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2020年01月02日 10:28,猫猫 写道:
只有如下算子支持测流输出。

ProcessFunction

CoProcessFunction

ProcessWindowFunction

ProcessAllWindowFunction

如果要计时的话,需要将你的逻辑全部放到相关函数中。在逐条处理的时候,记录数据ID和时间,写成一个新的数据流并行输出出去。
但实际上我们很少这样做,因为很难将所有逻辑全部放到一个算子中。


比较常见的方式是,在整体上数据有流入和流出,所以增加流入和流出算子,在数据经过的时候,记录数据ID,并形成新的数据流,然后写入到数据库进行合并就行了。
这种可以考虑采样的方式,例如根据ID取模获取数据,但缺点是监控嵌入了执行逻辑,并且必须有并行度为1的统计算子,可能会影响性能。

更为合理的看法是,当数据量不堆积的时候,时间也不是问题。
我们只要看kafka-offset的消费速度就行了。一定时间消费多少条,平均下来就是速率的。适用于压满性能的时候用。

可能还有更好的处理方式,我还没有了解,flink好像自身也有一定的监控能力。
但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间?
你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间?

提供一下场景为佳。






------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
发件人:&amp;nbsp;"张江"<[hidden email]&amp;gt;;
发送时间:&amp;nbsp;2020年1月2日(星期四) 上午9:27
收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;
抄送:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;
主题:&amp;nbsp;回复:如何获取算子处理一条数据记录的时间



可以讲的详细点么
非常感谢


| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2020年01月02日 08:09,猫猫 写道:
算子内记时,测流输出。


------------------&amp;amp;nbsp;原始邮件&amp;amp;nbsp;------------------
发件人:&amp;amp;nbsp;"张江"<[hidden email]&amp;amp;gt;;
发送时间:&amp;amp;nbsp;2020年1月1日(星期三) 晚上8:44
收件人:&amp;amp;nbsp;"user-zh"<[hidden email]&amp;amp;gt;;

主题:&amp;amp;nbsp;回复:如何获取算子处理一条数据记录的时间



有人知道么




| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2019年12月31日 17:14,张江 写道:
Hi,


我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做?


谢谢


| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制
Reply | Threaded
Open this post in threaded view
|

回复:如何获取算子处理一条数据记录的时间

pkuvisdudu

好的,谢谢。我在flink forward asia 2019上听到马庆祥老师讲flink动态资源调整,他是获取了flink metrics的指标进行计算的,如截图所示。但我自己获取metrics似乎没有发现这个指标信息,不知道是什么原因?


2020年01月03日 02:42[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]&gt;
发送时间: 2020年1月2日(周四) 晚上7:18
收件人: "user-zh"<[hidden email]&gt;;
抄送: "user-zh"<[hidden email]&gt;;
主题: 回复:如何获取算子处理一条数据记录的时间


我其实是想知道算子的数据处理能力,得到一个算子每秒钟最多能处理多少条数据。比如说map算子,我需要知道它一秒钟最多能转换多少数据,之后根据source端的数据量来设置算子的并行度




| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2020年01月02日 10:28,猫猫 写道:
只有如下算子支持测流输出。

ProcessFunction

CoProcessFunction

ProcessWindowFunction

ProcessAllWindowFunction

如果要计时的话,需要将你的逻辑全部放到相关函数中。在逐条处理的时候,记录数据ID和时间,写成一个新的数据流并行输出出去。
但实际上我们很少这样做,因为很难将所有逻辑全部放到一个算子中。


比较常见的方式是,在整体上数据有流入和流出,所以增加流入和流出算子,在数据经过的时候,记录数据ID,并形成新的数据流,然后写入到数据库进行合并就行了。
这种可以考虑采样的方式,例如根据ID取模获取数据,但缺点是监控嵌入了执行逻辑,并且必须有并行度为1的统计算子,可能会影响性能。

更为合理的看法是,当数据量不堆积的时候,时间也不是问题。
我们只要看kafka-offset的消费速度就行了。一定时间消费多少条,平均下来就是速率的。适用于压满性能的时候用。

可能还有更好的处理方式,我还没有了解,flink好像自身也有一定的监控能力。
但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间?
你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间?

提供一下场景为佳。






------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
发件人:&amp;nbsp;"张江"<[hidden email]&amp;gt;;
发送时间:&amp;nbsp;2020年1月2日(星期四) 上午9:27
收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;
抄送:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;
主题:&amp;nbsp;回复:如何获取算子处理一条数据记录的时间



可以讲的详细点么
非常感谢


| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2020年01月02日 08:09,猫猫 写道:
算子内记时,测流输出。


------------------&amp;amp;nbsp;原始邮件&amp;amp;nbsp;------------------
发件人:&amp;amp;nbsp;"张江"<[hidden email]&amp;amp;gt;;
发送时间:&amp;amp;nbsp;2020年1月1日(星期三) 晚上8:44
收件人:&amp;amp;nbsp;"user-zh"<[hidden email]&amp;amp;gt;;

主题:&amp;amp;nbsp;回复:如何获取算子处理一条数据记录的时间



有人知道么




| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2019年12月31日 17:14,张江 写道:
Hi,


我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做?


谢谢


| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制
Reply | Threaded
Open this post in threaded view
|

Re: 如何获取算子处理一条数据记录的时间

zhisheng
如你截图所示,目前 1.9 版本中第一二个指标应该是有的,后面四个指标建议 check 一下当时讲师说的 Flink 版本号

张江 <[hidden email]> 于2020年1月3日周五 下午3:36写道:

好的,谢谢。我在flink forward asia 2019上听到马庆祥老师讲flink动态资源调整,他是获取了flink metrics的指标进行计算的,如截图所示。但我自己获取metrics似乎没有发现这个指标信息,不知道是什么原因?


2020年01月03日 02:42[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]&gt;
发送时间: 2020年1月2日(周四) 晚上7:18
收件人: "user-zh"<[hidden email]&gt;;
抄送: "user-zh"<[hidden email]&gt;;
主题: 回复:如何获取算子处理一条数据记录的时间


我其实是想知道算子的数据处理能力,得到一个算子每秒钟最多能处理多少条数据。比如说map算子,我需要知道它一秒钟最多能转换多少数据,之后根据source端的数据量来设置算子的并行度




| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2020年01月02日 10:28,猫猫 写道:
只有如下算子支持测流输出。

ProcessFunction

CoProcessFunction

ProcessWindowFunction

ProcessAllWindowFunction

如果要计时的话,需要将你的逻辑全部放到相关函数中。在逐条处理的时候,记录数据ID和时间,写成一个新的数据流并行输出出去。
但实际上我们很少这样做,因为很难将所有逻辑全部放到一个算子中。


比较常见的方式是,在整体上数据有流入和流出,所以增加流入和流出算子,在数据经过的时候,记录数据ID,并形成新的数据流,然后写入到数据库进行合并就行了。
这种可以考虑采样的方式,例如根据ID取模获取数据,但缺点是监控嵌入了执行逻辑,并且必须有并行度为1的统计算子,可能会影响性能。

更为合理的看法是,当数据量不堆积的时候,时间也不是问题。
我们只要看kafka-offset的消费速度就行了。一定时间消费多少条,平均下来就是速率的。适用于压满性能的时候用。

可能还有更好的处理方式,我还没有了解,flink好像自身也有一定的监控能力。
但你的需求到底是什么?你为什么要知道一条数据的处理时间?而不是一批数据的处理时间?
你关心每个算子的时间,还是关心数据整体的处理时间?还是关心某个业务的执行时间?

提供一下场景为佳。






------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
发件人:&amp;nbsp;"张江"<[hidden email]&amp;gt;;
发送时间:&amp;nbsp;2020年1月2日(星期四) 上午9:27
收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;
抄送:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;;
主题:&amp;nbsp;回复:如何获取算子处理一条数据记录的时间



可以讲的详细点么
非常感谢


| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2020年01月02日 08:09,猫猫 写道:
算子内记时,测流输出。


------------------&amp;amp;nbsp;原始邮件&amp;amp;nbsp;------------------
发件人:&amp;amp;nbsp;"张江"<[hidden email]&amp;amp;gt;;
发送时间:&amp;amp;nbsp;2020年1月1日(星期三) 晚上8:44
收件人:&amp;amp;nbsp;"user-zh"<[hidden email]&amp;amp;gt;;

主题:&amp;amp;nbsp;回复:如何获取算子处理一条数据记录的时间



有人知道么




| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2019年12月31日 17:14,张江 写道:
Hi,


我是刚学习flink的菜鸟,现在想对一个算子,获取其处理一条数据记录的时间。请问这个应该怎么做?


谢谢


| |
张江
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制