flink入门-流式计算概念

栏目: 编程工具 · 发布时间: 6年前

内容简介:只要时间不停万事万物都没有静止。我们所以为的静态,不过是流中的一个片段。 意味着流的世界,不在乎所谓的状态,在乎的是变化,也就是事件的发生,通过批量的时代,我们只记录关键的信息,只在乎当前的状态,不会去记录状态是如何一步步变化至当前状态的,计算所面向的数据也是静态的,从一个态的数据变化到另一个静态的数据。流的时代我们在乎的是变化,也就是一系列的事件,我们计算所面临将是时时刻刻在更新流动的数据。

只要时间不停万事万物都没有静止。我们所以为的静态,不过是流中的一个片段。 意味着流的世界,不在乎所谓的状态,在乎的是变化,也就是事件的发生,通过 事件 来表示。

1.2 升维

批量的时代,我们只记录关键的信息,只在乎当前的状态,不会去记录状态是如何一步步变化至当前状态的,计算所面向的数据也是静态的,从一个态的数据变化到另一个静态的数据。

流的时代我们在乎的是变化,也就是一系列的事件,我们计算所面临将是时时刻刻在更新流动的数据。

这完全就上升了一个维度,就像四维生物可以穿梭于时间之中。

1.3 流的时间观念

时间对流来说是至关重要的,因为这关系事件与事件之间的顺序关系,一旦错乱便有可能导致计算出的当前状态是错误的。时间让事件有了秩序。

二、流式计算的实体

2.1 架构

flink入门-流式计算概念

数据源不断产生数据形成流,通过计算生成新的流,不断去更新目标数据源,实现结果数据的实时更新。

2.2 计算

流式计算和批量计算的算子无外乎都是那些数据的操作。区别就是批量面向的数据是一坨一坨打包好的,静态的;流式面向的是流无限的数据。在分布式环境中批量计算是将计算移动到相应的数据上进行运行,而流式计算是将定义好的计算部署到分布式的节点上,让数据在上面流动。

flink入门-流式计算概念
  • Map类:数据只依赖于当前这条数据。
  • agg:聚合操作
  • window:部分数据的聚到一起进行计算
  • join:不同的数据源通过相同的key进行融合
  • cep:例如,事件的模式匹配,例如给做了事件A之后做了事件B的用户发生运营短信。
  • 其他

2.2 应用场景

1.低延时。比如实时的pv、uv。 2.实时ETL。例如行为数据join维表,近实时落入hdfs。 3.事件驱动场景。例如上面的cep。

三、流计算的难点

3.1 时间

第一部分说时间在流的世界观中代表了事件的秩序,因为实时的环境会由于各种各样的原因(比如网络延时)导致事件到达计算节点的顺序和发生的顺序很可能是不一样的。

3.2 有限的内存&无限的数据

流计算面临的是源源不断流入的数据,而如果还像批量计算那样的操作方式来计算的化,很可能就会导致计算根本无法结束,或者随着时间的推移需要保存的数据越来越多,导致内存爆掉。

3.3 longlive&错误恢复

因为数据是不断产生的,所以需要计算是longlive的,一直存在。但时间长了出问题的概率大大增加,一旦挂掉,一些计算过程缓存的数据怎么保存、怎么恢复机会是个比较大的问题。

3.4 分布式环境

分布式环境下,共享数据实时同步,实现协同,这又是另一个故事了。

3.5 动态扩容

流是实时的,那数据的速率就是不稳定的,就像明星结婚啥的,会有突发的高峰,如何能实时适应这样的突发。

四、总结

本文希望同学们能对流计算有个大概的了解,了解它的应用场景、架构、所面临的难点。了解了这些接下来学习就有了方向。 关注我的主页 www.jianshu.com/u/7478cf233… 一起学习大数据吧


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Designing Data-Intensive Applications

Designing Data-Intensive Applications

Martin Kleppmann / O'Reilly Media / 2017-4-2 / USD 44.99

Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, w......一起来看看 《Designing Data-Intensive Applications》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具