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 李继 <li...@gmail.com> on 2021/01/07 09:41:57 UTC

flink的算子没有类似于spark的cache操作吗?

HI , 请问当一个算子会被多次使用时,怎么把他缓存住,类似于spark的cache操作

val env = getBatchEnv
val ds = env.fromElements("a","b","c")

val ds2 = ds.map(x=>{
  println("map op")
  x.charAt(0).toInt+1
})

//此操作会打印三遍map op
ds2.print()

//此操作又会打印三遍map op
ds2.filter(_>100).print()

Re: flink的算子没有类似于spark的cache操作吗?

Posted by Jark Wu <im...@gmail.com>.
社区已经在做了,可以关注下这个 FLIP:
https://cwiki.apache.org/confluence/display/FLINK/FLIP-36%3A+Support+Interactive+Programming+in+Flink

On Fri, 8 Jan 2021 at 15:42, 张锴 <zk...@gmail.com> wrote:

> 保存中间变量可以用状态存
>
> 李继 <li...@gmail.com> 于2021年1月7日周四 下午5:42写道:
>
> > HI , 请问当一个算子会被多次使用时,怎么把他缓存住,类似于spark的cache操作
> >
> > val env = getBatchEnv
> > val ds = env.fromElements("a","b","c")
> >
> > val ds2 = ds.map(x=>{
> >   println("map op")
> >   x.charAt(0).toInt+1
> > })
> >
> > //此操作会打印三遍map op
> > ds2.print()
> >
> > //此操作又会打印三遍map op
> > ds2.filter(_>100).print()
> >
>

Re: flink的算子没有类似于spark的cache操作吗?

Posted by 张锴 <zk...@gmail.com>.
保存中间变量可以用状态存

李继 <li...@gmail.com> 于2021年1月7日周四 下午5:42写道:

> HI , 请问当一个算子会被多次使用时,怎么把他缓存住,类似于spark的cache操作
>
> val env = getBatchEnv
> val ds = env.fromElements("a","b","c")
>
> val ds2 = ds.map(x=>{
>   println("map op")
>   x.charAt(0).toInt+1
> })
>
> //此操作会打印三遍map op
> ds2.print()
>
> //此操作又会打印三遍map op
> ds2.filter(_>100).print()
>