flink中ScalarFunction函数疑问

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

flink中ScalarFunction函数疑问

咿咿呀呀
     大家好,有个关于flink内部udf中ScalarFunction的问题需要请教。我的目的利用kafka每一条的数据经过ScalarFunction(udf1)进行处理,得到对应结果。但是flink内部是基于表的形式进行数据的存储,比如第一次kafka对应的flink表数据只有一条记录,利用udf1得到一个结果;第二次kafka对应的flink表数据有两条记录,那么这时使用udf1,处理的是第二条数据呢,还是第一条第二条都会用udf1去处理(重复去处理第一次flink表对应的那条记录)?
     
Reply | Threaded
Open this post in threaded view
|

Re: flink中ScalarFunction函数疑问

Xingbo Huang
Hi,
假设你的作业是读上游的Kafka,然后经过udf,接着就输出出去,然后一开始kafka没有数据。

过了一段时间,来了第一条数据,然后这条数据从kafka读进来到了flink,经过你的udf,输出出去。
这个时候整个程序还在运行,作业不会停下来。
然后过了一段时间来了第二条数据,这第二条经过你的udf,输出出去。

Best,
Xingbo

小学生 <[hidden email]> 于2020年8月3日周一 上午11:50写道:

> &nbsp; &nbsp;
> &nbsp;大家好,有个关于flink内部udf中ScalarFunction的问题需要请教。我的目的利用kafka每一条的数据经过ScalarFunction(udf1)进行处理,得到对应结果。但是flink内部是基于表的形式进行数据的存储,比如第一次kafka对应的flink表数据只有一条记录,利用udf1得到一个结果;第二次kafka对应的flink表数据有两条记录,那么这时使用udf1,处理的是第二条数据呢,还是第一条第二条都会用udf1去处理(重复去处理第一次flink表对应的那条记录)?
> &nbsp; &nbsp; &nbsp;
Reply | Threaded
Open this post in threaded view
|

Re: flink中ScalarFunction函数疑问

咿咿呀呀
嗯嗯,谢谢老师的讲解,也就是udf只作用于最新一条流数据,之前的处理过的流数据,不会因为是表的缘故而重新处理了。