做网站留言板需要什么条件,销售找客户最好的app,商业网站建设企业,百度网站快速优化Flink-简介与基础 一、Flink起源二、Flink数据处理模式1.批处理2.流处理3.Flink流批一体处理 三、Flink架构1.Flink集群2.Flink Program3.JobManager4.TaskManager 四、Flink应用程序五、Flink高级特性1.时间流#xff08;Time#xff09;和窗口#xff08;Window#xff0… Flink-简介与基础 一、Flink起源二、Flink数据处理模式1.批处理2.流处理3.Flink流批一体处理 三、Flink架构1.Flink集群2.Flink Program3.JobManager4.TaskManager 四、Flink应用程序五、Flink高级特性1.时间流Time和窗口Window2.状态流State3.快照Checkpoint 总结参考文档 一、Flink起源
大数据计算引擎由批处理项流处理发展由处理单一类型数据到批流一体方法发展。由单一功能逐步发展成更通用、更高效、更易用的一站式混合架构的计算引擎。计算引擎发展过程中典型架构
MapReduce批处理引擎hadoop中核心组件开创大数据处理核心思想即map、reduce。Storm流处理引擎为了满足更高时效性而产生Spark支持流式处理和批处理的统一计算引擎基于内存计算、提高性能Flink支持流式处理和批处理的统一计算引擎支持状态流、时间流等流处理
Flink诞生于柏林工业大学的一个大数据研究项目StratoSphere2014年被捐献给Apache成为Apache的顶级大数据项目。Flink将计算的主要方向定位为流处理将批处理作为流处理的一个特殊情况。并提供了一些如数据状态、事件时间、分布式快照、watermark等高级功能。
二、Flink数据处理模式
在大数据领域早期基本都是批处理后期随着大数据处理应用范围的拓展逐步发到到流处理。
1.批处理
批处理就是对整个有界数据集进行排序、统计或者汇总计算后输出结果。批处理的数据主要有以下特点
有界批处理数据集代表数据的有限集合持久数据通常存储在可重复获取的持久存储设备中就绪数据在计算之前已经就绪不会发生变化大量批处理操作通常是处理海量数据集的唯一方法
2.流处理
流处理是无界数据流更符合实际情况例如交易数据、传感器数据等都是不断产生而不会结束。流处理是产生一条数据就会处理一条数据流处理系统需要对进入系统的数据进行实时计算。而且流数据不一定是持久化的可能是业务系统实时产生的。
3.Flink流批一体处理
Flink即可以进行流处理也支持对有界数据进行批处理。也就是Flink可以处理消息队列或者日志这类流式数据源的实时数据也支持从各种数据源消费有界的历史数据。
三、Flink架构
Flink是一个分布式系统采用master/slave架构可以有效的分配和管理计算资源。集成了常见的集群资源管理器、也可以作为单独集群运行。
1.Flink集群
Flink运行时主要由一个JobManager和多个TaskManager组成。
2.Flink Program
Flink应用程序不是运行时程序执行的一部分主要是将用户的Flink作业提交到JobManager并触发执行Flink程序。
3.JobManager
JobManger主要职责是协调Flink应用程序的分布式执行主要是调度task、监控task执行情况、协调checkpoint、故障恢复等。
4.TaskManager
TaskManager主要是执行作业流中的task并且缓存和交换数据流。
四、Flink应用程序
Flink应用程序编写主要是指用户对数据需要进行的操作Flink将对数据的处理分为输入、处理、输出三个步骤。其中Source负责管理数据源输入、Transformation负责数据计算、Sink负责将结果输出。Transformation是根据需求由Flink提供的算子组合而成的一个处理流程。 Flink首先会将应用构建成一个Dataflow graph。当调用env.execute()时graph会被打包并发送到JobManager上JobManager会协调并执行应用。
五、Flink高级特性
1.时间流Time和窗口Window
实际应用中有时需要对历史数据进行重新处理和分析。如果时间流只能依靠机器时钟一些基于时间的统计与运算得出的结果可能会有错误和偏差因为为了满足以上场景Flink支持用数据流中的事件时间作为时间依据而不是处理数据时的机器时间。
2.状态流State
流处理过程中很多操作如何处理都需要依据之前所有数据的累积结果、一些窗口函数也需要缓存之前的数据。Flink中的算子都可以是由状态的这些状态都是本地访问这样可以提高吞吐量和减低延迟。
3.快照Checkpoint
大数据运行过程中无法避免故障的出现因此需要一定的故障恢复机制。Flink通过定期状态快照和流重放来实现故障恢复和精确的一次计算。
总结
主要介绍了Flink背景和以流处理为主的设计理念Flink的运行时架构、Flink作业的编程以及Flink的高级特性。
参考文档
1.Flink基础概念 2.Flink产生的背景以及简介 3.Flink架构