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
------------------ 原始邮件 ------------------
发件人: "Benchao Li"<libenchao@gmail.com>;
发送时间: 2020年6月8日(星期一) 上午10:46
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: Re: flink 1.9 自定义UDAF 实现state管理的逻辑吗?
没有完全明白你的问题。
你是要问UDAF的相关的state是怎么被Flink管理的么?
还是问UDAF里面如果用了state,应该自己怎么来管理呢?
star <3149768603@qq.com> 于2020年6月8日周一 上午10:44写道:
> 请教大家,
>
>
> flink 1.9 自定义UDAF 实现state管理的逻辑吗?
>
>
> 还是和sql一样 自己管理stage?
>
>
> class MyFunc extends AggregateFunction{
> createAccumulator
> accumulate
> getValue
> merge
> &nbsp; }
--
Best,
Benchao Li
回复: flink 1.9 自定义UDAF 实现state管理的逻辑吗?
Posted by star <31...@qq.com>.
明白了 谢谢!
------------------ 原始邮件 ------------------
发件人: "Benchao Li"<libenchao@gmail.com>;
发送时间: 2020年6月8日(星期一) 上午10:57
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: Re: flink 1.9 自定义UDAF 实现state管理的逻辑吗?
UDAF的accumulator本身就会被Flink的聚合算子作为state存起来,自然就会参与checkpoint和恢复。
不需要你做额外的操作。你实现UDAF的时候需要注意的是,在UDAF里面不要有自己的临时状态,
把所有信息都放到accumulator中。
star <3149768603@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
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
>
>
>
>
> ------------------ 原始邮件 ------------------
> 发件人: "Benchao Li"<libenchao@gmail.com>;
> 发送时间: 2020年6月8日(星期一) 上午10:46
> 收件人: "user-zh"<user-zh@flink.apache.org>;
>
> 主题: Re: flink 1.9 自定义UDAF 实现state管理的逻辑吗?
>
>
>
> 没有完全明白你的问题。
> 你是要问UDAF的相关的state是怎么被Flink管理的么?
> 还是问UDAF里面如果用了state,应该自己怎么来管理呢?
>
> star <3149768603@qq.com> 于2020年6月8日周一 上午10:44写道:
>
> > 请教大家,
> >
> >
> > flink 1.9 自定义UDAF 实现state管理的逻辑吗?
> >
> >
> > 还是和sql一样 自己管理stage?
> >
> >
> > class MyFunc extends AggregateFunction{
> > createAccumulator
> > accumulate
> > getValue
> > merge
> > &nbsp; }
>
>
>
> --
>
> Best,
> Benchao Li
--
Best,
Benchao Li