温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
本节课我们来讨论一下大数据平台的开A架构。首先了解一下大数据体系,Had duop主要用于离线数据存储和离线数据计算,Kafka是大数据的消息系统,主要用于存储流失的实时数据,Spark是基于内存的大数据计算引擎,但Spark中没有真正的实时计算,所有Spark中的计算本质上都是批处理的离线计算。Flink与Spark类似,都是大数据计算引擎,但flink的流式计算是一种真正的实时计算。有了这些大数据生态圈组件,就可以构建起大数据平台,从而解决海量数据存储和计算的问题。而构建大数据平台时有两种架构体系,Lambda架构和开A架构。这里重点讨论一下开A架构。先来看一下开A架构的基本结构,最底层是数据源层,也叫data s layer, 它的作用主要是提供实时的流失数据。数据源层之上是消息传输层,也叫speed layer, 它提供接收和存储流失数据的消息队列。
01:00
消息传输层之上是流处理层,也叫serving layer, 它的作用是提供流计算引擎,用于进行分布式的实时计算。最上层是应用层,也叫application layer, 它用于接收处理完成的结果数据。有了这些基本知识后,下面来看一下开A架构的具体实现。从下往上,可以把开A架构划分成5层,它们分别是最底层的数据源层、数据源层之上市数据采集层,然后是消息传输层,接着是流处理层,最上面是应用层。首先讨论最底层的数据源层。数据源层提供原始数据,例如业务数据库的数据、用户日志、爬虫数据和系统日志等等。有了数据源的数据就可以通过数据采集层来实现。ET的数据采集betax是阿里巴巴提供的一个开源EL工具,用于采集数据库的数据。CDC的全称是change data capture, 翻译成中文是变更、数据捕获。通过CDC可以实时采集数据库中的数据。
02:00
例如实时采集Oracle和MYSQL中的数据。Canal是使用Java语言开发的CDC数据采集工具,它通过对数据库增量日志进行解析,从而提供增量数据订阅和消费的功能。当然,这样的ETL工具有很多,通过数据采集层采集到了数据源的数据,就可以将数据送入消息传输层,这一层主要使用的是大数据消息系统kafka,也可以是其他的消息系统。在流处理层中,可以使用Spark streaming或者flink完成数据的流处理计算。注意,在开A架构中,Flink使用的更广泛,有了流处理层的处理,最后就可以将得到的结果提供给上层的各种应用程序。总体来说,开A架构比较简单,它没有批处理的离线计算部分,正是因为这一点,如果使用开A架构执行批处理的离线计算系统的吞吐量会很低,这也是开A架构的主要缺点。现在你已经知道什么是开A架构了,那你知道大数据平台。
03:00
拉姆的架构吗?好了,记得点加号关注赵玉强老师。
我来说两句