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

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

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()
Reply | Threaded
Open this post in threaded view
|

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

张锴
保存中间变量可以用状态存

李继 <[hidden email]> 于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()
>
Reply | Threaded
Open this post in threaded view
|

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

Jark
Administrator
社区已经在做了,可以关注下这个 FLIP:
https://cwiki.apache.org/confluence/display/FLINK/FLIP-36%3A+Support+Interactive+Programming+in+Flink

On Fri, 8 Jan 2021 at 15:42, 张锴 <[hidden email]> wrote:

> 保存中间变量可以用状态存
>
> 李继 <[hidden email]> 于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()
> >
>