大数据计算的四种模型,大数据的五大模型

首页 > 影视动漫 > 作者:YD1662023-10-26 05:38:34

▲图3Spark集群架构 ​

具体来说,当在集群上执行一个应用时,SparkContext可以连接到集群资源管理器(如YARN),获取集群的Worker Node的Executor,然后将应用程序代码上传到Executor中,再将Task发送给Executor运行。

Spark的核心数据结构是RDD(Resilient Distributed Dataset,弹性分布式数据集),只支持读操作,如需修改,只能通过创建新的RDD实现。

02实时流处理

当前实时处理数据的需求越来越多,例如实时统计分析、实时推荐、在线业务反欺诈等。相比批处理模式,流处理不是对整个数据集进行处理,而是实时对每条数据执行相应操作。流处理系统的主要指标有以下几个方面:时延、吞吐量、容错、传输保障(如支持恰好一次)、易扩展性、功能函数丰富性、状态管理(例如窗口数据)等。

目前市面上有很多成熟的开源流处理平台,典型的如Storm、Flink、Spark Streaming。三者的简单对比如下:Storm与Flink都是原生的流处理模型,Spark Streaming是基于Spark实现的微批操作;Spark Streaming的时延相对前两者高;Flink与Streaming的吞吐量高,支持的查询功能与计算函数也比Storm多。总体来说,Flink是这三者中综合性能与功能更好的流平台,当前的社区发展也更火热。

1.Flink简介

Flink最初由德国一所大学开发,后进入Apache孵化器,现在已成为最流行的流式数据处理框架。Flink提供准确的大规模流处理,支持高可用,能够7×24小时全天候运行,支持exactly-once语义、支持机器学习,具有高吞吐量和低延迟的优点,可每秒处理数百万个事件,毫秒级延迟,支持具有不同的表现力和灵活性的分层API,支持批流

一体。

2.Flink的架构

Flink是一个分布式系统,可以作为独立群集运行,也可以运行在所有常见的集群资源管理器上,例如Hadoop YARN、Apache Mesos和Kubernetes。

Flink采用主从架构,Flink集群的运行程序由两种类型的进程组成:JobManager和一个或多个TaskManager。TaskManager连接到JobManager,通知自己可用,并被安排工作。两者的功能如下所示:

Flink架构示意图如图4所示。

大数据计算的四种模型,大数据的五大模型(5)

▲图4Flink架构

客户端(Client)不是Flink运行程序的一部分,它在给JobManager发送作业后,就可以断开连接或保持连接状态以接收进度报告。

3.Flink对数据的处理方式

流处理是对没有边界数据流的处理。执行时,应用程序映射到由流和转换运算符组成的流式数据处理流。这些数据流形成有向图,以一个或多个源(source)开始,以一个或多个输出(sink)结束。程序中的转换与运算符之间通常是一对一的关系,但有时一个转换可以包含多个运算符。Flink流式处理步骤示例如图5所示。

大数据计算的四种模型,大数据的五大模型(6)

▲图5Flink流式处理步骤示例

4.Flink的接口抽象

Flink为开发流、批处理的应用提供了四层抽象,实践中大多数应用程序是基于核心API的DataStream/DataSet API进行编程的,四层抽象从低到高的示意图如图6所示。

大数据计算的四种模型,大数据的五大模型(7)

▲图6 Flink接口抽象层次

上一页12末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.