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

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

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

star
请教大家,


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


还是和sql一样 自己管理stage?


class MyFunc extends AggregateFunction{
createAccumulator
accumulate
getValue
merge
  }
Reply | Threaded
Open this post in threaded view
|

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

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

star <[hidden email]> 于2020年6月8日周一 上午10:44写道:

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



--

Best,
Benchao Li
Reply | Threaded
Open this post in threaded view
|

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

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




------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"Benchao Li"<[hidden email]&gt;;
发送时间:&nbsp;2020年6月8日(星期一) 上午10:46
收件人:&nbsp;"user-zh"<[hidden email]&gt;;

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



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

star <[hidden email]&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
Reply | Threaded
Open this post in threaded view
|

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

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

star <[hidden email]> 于2020年6月8日周一 上午10:50写道:

> 我的udaf里有一些聚合操作,比如接收一些数据 聚合到一个arrayList里,输出也是arraylist。我想问要不要把这个arraylist
> 也做checkpoint
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:&nbsp;"Benchao Li"<[hidden email]&gt;;
> 发送时间:&nbsp;2020年6月8日(星期一) 上午10:46
> 收件人:&nbsp;"user-zh"<[hidden email]&gt;;
>
> 主题:&nbsp;Re: flink 1.9 自定义UDAF 实现state管理的逻辑吗?
>
>
>
> 没有完全明白你的问题。
> 你是要问UDAF的相关的state是怎么被Flink管理的么?
> 还是问UDAF里面如果用了state,应该自己怎么来管理呢?
>
> star <[hidden email]&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
Reply | Threaded
Open this post in threaded view
|

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

star
明白了&nbsp; 谢谢!




------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"Benchao Li"<[hidden email]&gt;;
发送时间:&nbsp;2020年6月8日(星期一) 上午10:57
收件人:&nbsp;"user-zh"<[hidden email]&gt;;

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



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

star <[hidden email]&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"<[hidden email]&amp;gt;;
&gt; 发送时间:&amp;nbsp;2020年6月8日(星期一) 上午10:46
&gt; 收件人:&amp;nbsp;"user-zh"<[hidden email]&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 <[hidden email]&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