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


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

查看所有标签

猜你喜欢:

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

汇编语言(第2版)

汇编语言(第2版)

王爽 / 清华大学出版社 / 2008-4 / 33.00元

《汇编语言(第2版)》是各种CPU提供的机器指令的助记符的集合,人们可以用汇编语言直接控制硬件系统进行工作。汇编语言是很多相关课程(如数据结构、操作系统、微机原理等)的重要基础。为了更好地引导、帮助读者学习汇编语言,作者以循序渐进的思想精心创作了《汇编语言(第2版)》。《汇编语言(第2版)》具有如下特点:采用了全新的结构对课程的内容进行组织,对知识进行最小化分割,为读者构造了循序渐进的学习线索;在......一起来看看 《汇编语言(第2版)》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

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

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具