说明
数据产品经理教程 正在编写中,欢迎大家加微信 gairuo123 (备注:数据产品教程) 提供意见、建议、纠错、催更。应大家要求,作者开办数据产品和数据分析培训班,详情 数据产品经理培训 / 数据分析培训。
Apache Flink(官网:https://flink.apache.org )是一个针对无界和有界数据流进行有状态计算的框架。Flink 自底向上在不同的抽象级别提供了多种 API,并且针对常见的使用场景开发了专用的扩展库。
Apache Flink 是一个解决实时数据处理的计算框架,但不是数据仓库的服务,其可对有限数据流和无限数据流进行有状态计算,并可部署在各种集群环境,对各种大小的数据规模进行快速计算。
Flink 诞生于欧洲的一个大数据研究项目 StratoSphere。该项目是柏林工业大学的一个研究性项目。早期,Flink 是做 Batch 计算的,但是在 2014 年,StratoSphere 里面的核心成员孵化出 Flink,同年将 Flink 捐赠 Apache,并在后来成为 Apache 的顶级大数据项目,同时 Flink 计算的主流方向被定位为 Streaming,即用流式计算来做所有大数据的计算。
具体来说,Apache Flink 是一个解决实时数据处理的计算框架,但不是数据仓库的服务,其可对有限数据流和无限数据流进行有状态计算,并可部署在各种集群环境,对各种大小的数据规模进行快速计算。
如下图所示 Flink 框架,大致可以分为三块内容,从左到右依次为:数据输入、Flink 数据处理、数据输出。
Flink 支持消息队列的 Events(支持实时的事件)的输入,上游源源不断产生数据放入消息队列,Flink 不断消费、处理消息队列中的数据,处理完成之后数据写入下游系统,这个过程是不断持续的进行。
Flink 在当前的架构中主要承担了消息消费、维表关联、消息发送等。在实时计算领域,Flink 的优势主要包括:
在伴随 Flink 发展掀起的这波实时计算浪潮里,阿里是国内走得最前、做得也最多的一个,“流批一体”是它的新赛道。2020 年双 11, Flink 流批一体开始在阿里最核心的数据业务场景崭露头角,并抗住了 40 亿条/秒的实时计算峰值。
流批一体的技术理念最早提出于 2015 年,它的初衷是让开发人员能够用同一套接口实现大数据的流计算和批计算,进而保证处理过程与结果的一致性。随后,大数据厂商 / 框架们如 Spark、Flink、Beam 等,都陆续提出了自己的解决方案,虽然实现方式各不相同,但在一定程度上说明流批一体的思想已经在业界得到广泛认可。
Flink 的应用场景一般看到三大类,分别是流式的 ETL,实时的数据分析以及事件驱动型应用的改造。
实时ETL和数据流的目的是实时地把数据从A点投递到B点。在投递的过程中可能添加数据清洗和集成的工作,例如实时构建搜索系统的索引、实时数仓中的ETL过程等。
数据分析指的是根据业务目标,从原始数据中抽取对应信息并整合的过程。例如,查看每天销量前10的商品、仓库平均周转时间、文档平均单击率、推送打开率等。实时数据分析则是上述过程的实时化,通常在终端体现为实时报表或实时大屏。
事件驱动应用是对一系列订阅事件进行处理或作出响应的系统。事件驱动应用通常需要依赖内部状态,例如欺诈检测、风控系统、运维异常检测系统等。当用户行为触发某些风险控制点时,系统会捕获这个事件,并根据用户当前和之前的行为进行分析,决定是否对用户进行风险控制。
更新时间:2021-08-29 16:38:22 标签:大数据 Flink