请教大家,
flink 1.9 自定义UDAF 实现state管理的逻辑吗? 还是和sql一样 自己管理stage? class MyFunc extends AggregateFunction{ createAccumulator accumulate getValue merge } |
没有完全明白你的问题。
你是要问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 > } -- Best, Benchao Li |
我的udaf里有一些聚合操作,比如接收一些数据 聚合到一个arrayList里,输出也是arraylist。我想问要不要把这个arraylist 也做checkpoint
------------------ 原始邮件 ------------------ 发件人: "Benchao Li"<[hidden email]>; 发送时间: 2020年6月8日(星期一) 上午10:46 收件人: "user-zh"<[hidden email]>; 主题: Re: flink 1.9 自定义UDAF 实现state管理的逻辑吗? 没有完全明白你的问题。 你是要问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 |
UDAF的accumulator本身就会被Flink的聚合算子作为state存起来,自然就会参与checkpoint和恢复。
不需要你做额外的操作。你实现UDAF的时候需要注意的是,在UDAF里面不要有自己的临时状态, 把所有信息都放到accumulator中。 star <[hidden email]> 于2020年6月8日周一 上午10:50写道: > 我的udaf里有一些聚合操作,比如接收一些数据 聚合到一个arrayList里,输出也是arraylist。我想问要不要把这个arraylist > 也做checkpoint > > > > > ------------------ 原始邮件 ------------------ > 发件人: "Benchao Li"<[hidden email]>; > 发送时间: 2020年6月8日(星期一) 上午10:46 > 收件人: "user-zh"<[hidden email]>; > > 主题: Re: flink 1.9 自定义UDAF 实现state管理的逻辑吗? > > > > 没有完全明白你的问题。 > 你是要问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 -- Best, Benchao Li |
明白了 谢谢!
------------------ 原始邮件 ------------------ 发件人: "Benchao Li"<[hidden email]>; 发送时间: 2020年6月8日(星期一) 上午10:57 收件人: "user-zh"<[hidden email]>; 主题: Re: flink 1.9 自定义UDAF 实现state管理的逻辑吗? 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 |
Free forum by Nabble | Edit this page |