flink入门-流式计算概念

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

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

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

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… 一起学习大数据吧


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

查看所有标签

猜你喜欢:

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

Web性能权威指南

Web性能权威指南

Ilya Grigorik / 李松峰 / 人民邮电出版社 / 2013-9 / 69

本书是谷歌公司高性能团队核心成员的权威之作,堪称实战经验与规范解读完美结合的产物。本书目标是涵盖Web 开发者技术体系中应该掌握的所有网络及性能优化知识。全书以性能优化为主线,从TCP、UDP 和TLS 协议讲起,解释了如何针对这几种协议和基础设施来优化应用。然后深入探讨了无线和移动网络的工作机制。最后,揭示了HTTP 协议的底层细节,同时详细介绍了HTTP 2.0、 XHR、SSE、WebSoc......一起来看看 《Web性能权威指南》 这本书的介绍吧!

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

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换