You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by star <31...@qq.com> on 2020/06/08 02:50:43 UTC

回复: flink 1.9 自定义UDAF 实现state管理的逻辑吗?

我的udaf里有一些聚合操作,比如接收一些数据 聚合到一个arrayList里,输出也是arraylist。我想问要不要把这个arraylist 也做checkpoint




------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"Benchao Li"<libenchao@gmail.com&gt;;
发送时间:&nbsp;2020年6月8日(星期一) 上午10:46
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re: flink 1.9 自定义UDAF 实现state管理的逻辑吗?



没有完全明白你的问题。
你是要问UDAF的相关的state是怎么被Flink管理的么?
还是问UDAF里面如果用了state,应该自己怎么来管理呢?

star <3149768603@qq.com&gt; 于2020年6月8日周一 上午10:44写道:

&gt; 请教大家,
&gt;
&gt;
&gt; flink 1.9 自定义UDAF 实现state管理的逻辑吗?
&gt;
&gt;
&gt; 还是和sql一样 自己管理stage?
&gt;
&gt;
&gt; class MyFunc extends AggregateFunction{
&gt; createAccumulator
&gt; accumulate
&gt; getValue
&gt; merge
&gt; &amp;nbsp; }



-- 

Best,
Benchao Li

回复: flink 1.9 自定义UDAF 实现state管理的逻辑吗?

Posted by star <31...@qq.com>.
明白了&nbsp; 谢谢!




------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"Benchao Li"<libenchao@gmail.com&gt;;
发送时间:&nbsp;2020年6月8日(星期一) 上午10:57
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re: flink 1.9 自定义UDAF 实现state管理的逻辑吗?



UDAF的accumulator本身就会被Flink的聚合算子作为state存起来,自然就会参与checkpoint和恢复。
不需要你做额外的操作。你实现UDAF的时候需要注意的是,在UDAF里面不要有自己的临时状态,
把所有信息都放到accumulator中。

star <3149768603@qq.com&gt; 于2020年6月8日周一 上午10:50写道:

&gt; 我的udaf里有一些聚合操作,比如接收一些数据 聚合到一个arrayList里,输出也是arraylist。我想问要不要把这个arraylist
&gt; 也做checkpoint
&gt;
&gt;
&gt;
&gt;
&gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
&gt; 发件人:&amp;nbsp;"Benchao Li"<libenchao@gmail.com&amp;gt;;
&gt; 发送时间:&amp;nbsp;2020年6月8日(星期一) 上午10:46
&gt; 收件人:&amp;nbsp;"user-zh"<user-zh@flink.apache.org&amp;gt;;
&gt;
&gt; 主题:&amp;nbsp;Re: flink 1.9 自定义UDAF 实现state管理的逻辑吗?
&gt;
&gt;
&gt;
&gt; 没有完全明白你的问题。
&gt; 你是要问UDAF的相关的state是怎么被Flink管理的么?
&gt; 还是问UDAF里面如果用了state,应该自己怎么来管理呢?
&gt;
&gt; star <3149768603@qq.com&amp;gt; 于2020年6月8日周一 上午10:44写道:
&gt;
&gt; &amp;gt; 请教大家,
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt; flink 1.9 自定义UDAF 实现state管理的逻辑吗?
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt; 还是和sql一样 自己管理stage?
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt; class MyFunc extends AggregateFunction{
&gt; &amp;gt; createAccumulator
&gt; &amp;gt; accumulate
&gt; &amp;gt; getValue
&gt; &amp;gt; merge
&gt; &amp;gt; &amp;amp;nbsp; }
&gt;
&gt;
&gt;
&gt; --
&gt;
&gt; Best,
&gt; Benchao Li



-- 

Best,
Benchao Li

Re: flink 1.9 自定义UDAF 实现state管理的逻辑吗?

Posted by Benchao Li <li...@gmail.com>.
UDAF的accumulator本身就会被Flink的聚合算子作为state存起来,自然就会参与checkpoint和恢复。
不需要你做额外的操作。你实现UDAF的时候需要注意的是,在UDAF里面不要有自己的临时状态,
把所有信息都放到accumulator中。

star <31...@qq.com> 于2020年6月8日周一 上午10:50写道:

> 我的udaf里有一些聚合操作,比如接收一些数据 聚合到一个arrayList里,输出也是arraylist。我想问要不要把这个arraylist
> 也做checkpoint
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:&nbsp;"Benchao Li"<libenchao@gmail.com&gt;;
> 发送时间:&nbsp;2020年6月8日(星期一) 上午10:46
> 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>
> 主题:&nbsp;Re: flink 1.9 自定义UDAF 实现state管理的逻辑吗?
>
>
>
> 没有完全明白你的问题。
> 你是要问UDAF的相关的state是怎么被Flink管理的么?
> 还是问UDAF里面如果用了state,应该自己怎么来管理呢?
>
> star <3149768603@qq.com&gt; 于2020年6月8日周一 上午10:44写道:
>
> &gt; 请教大家,
> &gt;
> &gt;
> &gt; flink 1.9 自定义UDAF 实现state管理的逻辑吗?
> &gt;
> &gt;
> &gt; 还是和sql一样 自己管理stage?
> &gt;
> &gt;
> &gt; class MyFunc extends AggregateFunction{
> &gt; createAccumulator
> &gt; accumulate
> &gt; getValue
> &gt; merge
> &gt; &amp;nbsp; }
>
>
>
> --
>
> Best,
> Benchao Li



-- 

Best,
Benchao Li