AI前线导读:本文是 **Apache Beam实战指南系列文章** 的第二篇内容,将重点介绍 Apache Beam与Flink的关系,对Beam框架中的KafkaIO和Flink源码进行剖析,并结合应用示例和代码解读带你进一步了解如何结合Beam玩转Kafka和Flink。系列文章第一篇回顾Apache Beam实战指南之基础入门
关于Apache Beam实战指南系列文章
ASP站长网随着大数据 2.0 时代悄然到来,大数据从简单的批处理扩展到了实时处理、流处理、交互式查询和机器学习应用。近年来涌现出诸多大数据应用组件,如 HBase、Hive、Kafka、Spark、Flink 等。开发者经常要用到不同的技术、框架、API、开发语言和 SDK 来应对复杂应用的开发,这大大增加了选择合适工具和框架的难度,开发者想要将所有的大数据组件熟练运用几乎是一项不可能完成的任务。
面对这种情况,Google 在 2016 年 2 月宣布将大数据流水线产品(Google DataFlow)贡献给 Apache 基金会孵化,2017 年 1 月 Apache 对外宣布开源 Apache Beam,2017 年 5 月迎来了它的第一个稳定版本 2.0.0。在国内,大部分开发者对于 Beam 还缺乏了解,社区中文资料也比较少。InfoQ 期望通过 **Apache Beam 实战指南系列文章** 推动 Apache Beam 在国内的普及。
一.概述
大数据发展趋势从普通的大数据,发展成AI大数据,再到下一代号称万亿市场的lOT大数据。技术也随着时代的变化而变化,从Hadoop的批处理,到Spark Streaming,以及流批处理的Flink的出现,整个大数据架构也在逐渐演化。
Apache Beam作为新生技术,在这个时代会扮演什么样的角色,跟Flink之间的关系是怎样的?Apache Beam和Flink的结合会给大数据开发者或架构师们带来哪些意想不到的惊喜呢?
二.大数据架构发展演进历程
2.1 大数据架构Hadoop
Apache Beam实战指南 | 玩转KafkaIO与Flink
图2-1 MapReduce 流程图
最初做大数据是把一些日志或者其他信息收集后写入Hadoop 的HDFS系统中,如果运营人员需要报表,则利用Hadoop的MapReduce进行计算并输出,对于一些非计算机专业的统计人员,后期可以用Hive进行统计输出。
2.2 流式处理Storm
Apache Beam实战指南 | 玩转KafkaIO与Flink
图2-2Storm流程图
业务进一步发展,运营人员需要看到实时数据的展示或统计。例如电商网站促销的时候,用于统计用户实时交易数据。数据收集也使用MQ,用流式Storm解决这一业务需求问题。
2.3 Spark批处理和微批处理
Apache Beam实战指南 | 玩转KafkaIO与Flink
图2-3 Spark流程图
业务进一步发展,服务前端加上了网关进行负载均衡,消息中心也换成了高吞吐量的轻量级MQ Kafka,数据处理渐渐从批处理发展到微批处理。
2.4 Flink:真正的流批处理统一
Apache Beam实战指南 | 玩转KafkaIO与Flink
图2-4 Flink 流程图
随着AI和loT的发展,对于传感设备的信息、报警器的警情以及视频流的数据量微批计算引擎已经满足不了业务的需求,Flink实现真正的流处理让警情更实时。
大型站长资讯类网站! https://www.0792zz.cn