在Flink中实现流批一体处理,是否要求所有source都必须统一?另外要实现流批一体,具体需要满足哪些条件或适用哪些场景?
Flink实现流批一体的主要目标是使得流处理和批处理能够用同一套代码进行处理,无需再为流和批两种场景编写不同的代码。这主要通过在Flink的执行引擎层提供统一的数据处理流程Data Processing Pipeline (Logical Plan)来实现。
为了实现这一目标,Flink在SQL层和Table API上实现了流批一体化,这使得用户的业务逻辑只需要开发一遍,就可以同时在流和批的两种场景下使用。同时,Flink也在底层的DataStream API上实现了流批一体,预计这将在Flink的后续版本中实现。
具体到实现流批一体的条件或场景,首先需要的是Flink的版本支持。例如,Flink 1.10和1.11版本完成了SQL层的流批一体化和实现生产可用性。其次,需要使用的API是Table/SQL API或DataStream API。最后,对于source端的要求,目前并未明确指出需要统一。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。