赞
踩
Flink概述 官网
分布式的计算引擎
支持批处理 ,即处理静态的数据集、历史的数据集
支持流处理 ,即实时地处理一些实时数据流
支持基于事件 的应用【比如说滴滴通过 Flink CEP 实现实时监测司机的行为流来判断司机的行为是否正当】
Apache Flink – Stateful Computations over Data Streams
Stateful Computations over Data Streams ,即数据流上的有状态的计算。
无界流 :意思很明显,只有开始没有结束。必须连续的处理无界流数据,也即是在事件注入之后立即要对其进行处理。不能等待数据到达了再去全部处理,因为数据是无界的并且永远不会结束数据注入。处理无界流数据往往要求事件注入的时候有一定的顺序性,例如可以以事件产生的顺序注入,这样会使得处理结果完整
有界流 :也即是有明确的开始和结束的定义。有界流可以等待数据全部注入完成了再开始处理。注入的顺序不是必须的了,因为对于一个静态的数据集,我们是可以对其进行排序的。有界流的处理也可以称为 批处理 。
Checkpoint
Checkpoint 机制,这是Flink最重要的一个特性。Flink基于 Chandy-Lamport 算法实现了一个分布式的一致性的快照,从而提供了 一致性的语义 。Chandy-Lamport算法实际上在1985年的时候已经被提出来,但并没有被很广泛的应用,而Flink则把这个算法发扬光大了。
State
Flink为了让用户在编程时能够更轻松、更容易地去 管理状态 ,还提供了一套非常简单明了的State API,包括里面的有ValueState、ListState、MapState,近期添加了BroadcastState,使用State API能够自动享受到这种一致性的语义。
Time
Flink实现了 Watermark 的机制,能够支持基于事件的时间的处理,或者说基于系统时间的处理,能够容忍数据的迟到,容忍,乱序的数据。
Window
流计算中一般在对流数据进行操作之前都会先进行开窗,即基于一个什么样的窗口上做这个计算。Flink提供了开箱即用的各种窗口,比如 滑动窗口 、 滚动窗口 、 会话窗口 以及非常灵活的 自定义的窗口 。
Flink是一个分层架构的系统,每一层所包含的组件都提供了特定的抽象,用来服务于上层组件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。