Apache Flink(一) 简介

无限数据( Unbounded Datasets)的流式处理

在我们详细了解Flink之前,让我们从更高层次审视处理数据时可能遇到的数据集的类型以及我们可以选择处理的执行模型类型。这两个想法经常是混合的,我们需要很清楚地分开它们。
两种数据集

  • 无限(Unbounded):连续附加的无限数据集
  • 有限的(Bounded):有限的,不变的数据集

传统意义上认为的无界数据集譬如“批处理”数据事实上是有界的数据集。无论这些数据是存储在HDFS或者是基于日志系统譬如 Kafka,都是如此。

无界数据集包括但不限于如下:

  • 终端用户与APP或WEB交互的数据
  • 物理传感器采集的数据
  • 金融市场行情
  • 系统或机器日志

两种执行模式
- 流式传输(Streaming) :只要数据生成,连续执行的处理
- 批处理(Batch):在有限的时间内执行并运行到完整的处理,完成后释放计算资源

使用任一类型的执行模型来处理任一类型的数据集都是可能的,但不一定是最优的。例如批处理执行长期以来一直应用于无界数据集的处理。
Flink依赖于流式处理模型,这是一种适用于处理无界数据集的流程:流执行是对连续生成的数据进行连续处理。

Flink是分布式流处理的开源框架:

  • 提供准确的结果,即使在无序或延迟数据的情况下也是如此
  • 具有状态和容错能力,可以在保持应用状态的同时无故障地从故障中恢复
  • 大规模执行,在数千个节点上运行,具有非常好的吞吐量和延迟特性

如上,我们讨论了数据集的类型(有界和无界)和执行模型的类型(批次与流式)。Flink的许多功能如下所示 - 状态管理,无序数据处理,灵活的窗口 - 对于Flink来说在无界数据集上计算的结果准确性至关重要.

Flink保证用于状态计算的一次性语义。“有状态”意味着应用程序可以维护一段时间内已处理的数据的聚合或汇总,Flink的检查点机制可以确保在发生故障时应用程序状态的一致性语义。

Flink支持流处理和窗口与事件时间语义,事件时间使得计算准确的结果变得容易,这些流可能产生无序数据或者数据延迟到达的情况。

除了数据驱动的窗口之外,Flink还支持基于时间,计数或会话的灵活窗口。Windows可以通过灵活的触发条件进行定制,以支持复杂的流式传输模式。Flink的窗口使得可以对创建数据的环境的现实进行建模。

Flink的容错是轻量级的,允许系统在保持高吞吐率的同时提供一致性保证。为了使Flink能从零数据丢失的故障中恢复,可靠性和延迟之间的折衷可以忽略不计。

Flink能够实现高吞吐量和低延迟(快速处理大量数据)。下面的图表显示了Apache Flink和Apache Storm在完成一个流数据清洗的分布式项目计数任务中的性能比较。

Flink的保存点提供了一个状态版本控制机制,使得可以更新应用程序或重新处理历史数据,而不会丢失状态和最少的宕机时间。

Flink旨在在具有数千个节点的大型集群上运行,除了独立的集群模式,Flink还为YARN和Mesos提供支持。

Flink,流模型和有界数据集

如果你已经查看了Flink的文档,您可能已经注意到使用无界数据的DataStream API以及处理有限数据的DataSet API。

在这个写作的早些时候,我们引入了流式执行模型(“连续执行的处理,一次事件”),显而易见这适用于无界数据集的范畴。但有界数据集如何与流处理模式发生关系?

在Flink中这种关系是很自然的。有界数据集可以简单地被视为无界数据集的特殊情况,因此可以将上面列出的所有的流概念应用到有限数据集中。

有限数据集在Flink内被处理为“有限流”,Flink的DataSet API在管理有界数据集和无界数据集之间只有一些细微差别。

两个API都运行在相同的分布式流执行引擎上,因此Flink是处理有限数据集和无限数据集的一个简单而强大的框架。

What? Flink自下而上结构

部署模式

Flink可以在独立的群集或由YARN或者Mesos管理的群集上运行。

运行

Flink的核心是分布式流数据流引擎,这意味着数据是一次处理事件而不是一系列批处理,这是一个重要的区别,因为这样可以帮助我们了解许多Flink的性能特征。

APIs
此部分略。。。

Flink和其他框架的区别

在最基本的层面上,Flink程序由以下组成:

  • 数据源(Data source): Flink处理的传入数据
  • 转换(Transformations): Flink修改传入数据时的处理步骤
  • 数据接收器(Data sink): Flink在处理后发送数据

总结

总而言之,Apache Flink是一个开源流处理框架,可以消除通常与开源流引擎相关联的“性能与可靠性”折衷,并在两个类别中始终保持一致

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值