流式数据处理是当今大数据领域的趋势,很多企业渴望更及时地洞察自己的数据,而曾经的“批处理”思维正迅速被流式处理所取代。越来越多的公司,无论大小,都在重新思考技术架构时把实时性作为第一考量,并开始构建自己的实时计算平台。
伴随着实时化浪潮的发展和深化,Apache Flink 已逐步演进为流处理的领军角色和事实标准。在 2021 年 Apache 软件基金会的财年报告中,Flink 的邮件列表活跃度连续第四年排名第一,Github 项目访问流量和代码库提交次数均排名第二,在 Apache 软件基金会的开源社区中名列前茅。与此同时,截止目前已有超过 1400 名开发者对 Apache Flink 项目进行过代码级的贡献。这些开发者分别来自于全球 100 多家公司,其中不仅包含全球知名的国际化公司,还有更多来自中国本土的科技公司,中国因素在 Flink 社区发挥着越来越大的作用。
回顾技术演进的历程,Flink一方面持续优化其流计算核心能力,不断提高整个行业的流计算处理标准,另一方面沿着批流一体的思路开始覆盖越来越多的应用场景,并逐步在生产落地。
在数据集成方面,Apache Flink 提供了 Flink CDC 组件¹ ,使用 CDC 技术从各种数据库中获取变更流并接入到 Flink 中。Flink CDC 可以替代传统的 DataX 和 Canal 工具做实时数据同步,将数据库的全量和增量数据同步到消息队列和数据仓库中。也可以做实时数据集成,将数据库数据实时入湖入仓。还可以做实时物化视图,通过 SQL 对数据库数据做实时关联、打宽、聚合,并将物化结果写入到湖仓中。
在数据分析和数据仓库领域,Apache Flink 也扮演着重要的角色。Flink 的批流一体技术被越来越多的公司所采纳,社区也持续推出 Flink Table Store² 等新技术进一步精简流式数仓(实时离线一体化)的架构,推动数据仓库从 Lambda 架构到 Kappa 架构的演进和落地,大大降低企业建立实时化数据分析平台的人力和硬件资源成本。
此外,Apache Flink 也广泛应用于推荐、广告和搜索等机器学习业务场景中。借助流批一体技术的演进和升级,Flink 社区推出了新一代机器学习基础框架 Flink ML 2.0 ³,能够将数据清洗、数据预处理、特征计算、样本拼接和模型训练完全串联,形成一套高效的、大数据 AI 一体化的计算流程,同时可以兼容业界成熟的深度学习算法、嵌入 Tensorflow、PyTorch 等主流的深度学习算法库,支持全链路的深度学习流程。Flink ML 最大的特点是可以兼容流式和批式的数据源,实现在线机器学习流程和离线机器学习流程一体化,令特征工程和模型训练变得更加高效。
为了帮助读者更全面和深入地了解上述 Flink 技术如何在实际生产场景中落地,我们特地编撰了这本中文专刊。在这本专刊里你可以了解到大量来自不同领域的公司在数据集成、数据分析(BI)、人工智能(AI)、云原生以及企业数字化转型等应用场景中使用 Apache Flink 解决实际生产问题的成功案例,其中既包含传统和新兴的互联网公司,也包含通信、证券、银行等传统企业。我们由衷的感谢向我们提供这些实践案例的公司,也真诚的希望这些真实的生产实践案例和经验能够帮助大家更好的理解和使用 Apache Flink,加速更多企业的实时化平台搭建和业务转型。与此同时我们也期待接收到更多用户的反馈,并在下一年的专刊中看到您分享的宝贵案例和经验!
1 https://ververica.github.io/flink-cdc-connectors/
2 https://github.com/apache/flink-table-store
3 https://github.com/apache/flink-ml