随着大数据环境的日益发展,流数据计算变得越来越普遍。许多企业也采用或转向流式处理消息传递,而不是仅仅依靠 REST API。
Apache Flink 已成为在很短的时间内流式传输数据计算的常用框架。与 Apache Spark 相比,它有许多优点(例如,轻量级、丰富的 API、开发人员友好、高吞吐量、活跃和充满活力的社区)。
当我开始从事一个新项目时,我必须处理流数据(例如事件、服务器日志),经过初步研究,我发现Flink最适合我的特定用例。
此博客基于我在 Flink 中的工作,从一个简单的示例开始,以真实用例的子集开始。我也分享一些例外和方法来解决这些问题,这将有助于初学者。
您可能还喜欢:ETL 的状态:传统云。
链接到本系列中的文章和内容的简短摘要。(所有代码示例都可在GitHub上找到。
第 1 部分–入门指南,我分享了一个使用自定义 SourceFunction
和( TumblingWindow
固定大小、固定时间、非重叠)作为流生成的整数总和的示例。
第 2 部分–本文第 1 部分对此进行了改进,并分享了一个键控数据流计算的示例。这一个使用Flink reduce
的方法 sum
,以达到相同的结果。
第 3 部分 –换档,我采取 Flink 的实际用例的子集(请参阅本文从zalando.com)。我分享了一个示例,说明如何处理连接事件以识别简单的模式。
第 4 部分– 根据第 3 部分中的示例进行改进,我分享了如何使用 Flink 的org/projects/flink/flink-docs-stable/dev/libs/cep.html”rel=”nofollow”目标=”_blank”=CEP。
即将发表关于 Flink 的文章
1. 向更真实的部署用例迈进,我将分享如何在群集模式下设置和使用 Flink。这也将有一个数据库和格拉法纳完成教程端到端。
2. AWS Kinesis 流,与上述示例相同。