
Flink
文章平均质量分 75
Flink详解
叁木-Neil
这个作者很懒,什么都没留下…
展开
-
什么你还不会Flink的CEP,那你需要好好看看这篇文章
Flink之CEP详解一、是什么维基百科对CEP的定义为:“CEP是一种事件处理模式,它从若干源中获取事件,并侦测复杂环境的事件或模式,CEP的目的是确认一些有意义的事件(比如某种威胁或某种机会),并尽快对其作出响应”。总结一下也就是CEP是一个事件处理模式,当某项检测需要在多源且复杂的事件流中进行处理,并需要低延迟、秒级或毫秒级的响应时,我们就可以考虑用到它。市场上有多种CEP的解决方案,例如Spark、Samza、Beam等,但他们都没有提供专门的library支持。但是Flink提供了专门的CEP原创 2020-05-18 18:49:34 · 1035 阅读 · 1 评论 -
Flink之末自定义udf与Sink定义
一、实现UDF函数——更细粒度的控制流1.1 函数类(Function Classes)Flink暴露了所有udf函数的接口(实现方式为接口或者抽象类)。例如MapFunction, FilterFunction, ProcessFunction等等。下面例子实现了FilterFunction接口:class FilterFilter extends FilterFunction[String] { override def filter(value: String): Boolean原创 2020-05-14 18:39:59 · 1012 阅读 · 1 评论 -
Flink攻略宝典(目录)
Flink教程目录做了很久的实时流开发,但是从来没有系统的去做一个技术总结,所以已此篇为起点将逐步写一些关于Flink相关的教程一、Flink介绍1.1 Flink简介二、Flink的运行架构2.1 Flink运行组件2.2 Flink任务提交2.3 Flink调度原理2.4 其他架构相关知识点三、算子篇四、Flink Window API五、Flink中的时间语义和Wate...原创 2020-05-13 22:12:23 · 676 阅读 · 0 评论 -
再忙也需要看的Flink状态管理
Flink状态管理上几篇我们讲完了Flink窗口的相关内容,那么问题来了,我们如果在一个开窗的流处理上做求和操作,突然处理凉了,怎么办呢?那我们需要去重新计算吗?所以接下来也就需要去介绍我们的Flink状态管理了。一、 简介流式计算其实分为无状态和有状态两种情况。无状态的计算观察每个独立事件,并根据最后一个事件输出结果。例如,流处理应用程序从传感器接收温度读数,并在温度超过90度时发出警告。有状态的计算则会基于多个事件输出结果。那么究竟哪些是有状态的呢?如下:所有类型的窗口。例如,计算过去一小时的原创 2020-05-13 22:11:22 · 1226 阅读 · 0 评论 -
全网最详细Flink之Watermark机制
一、Flink之Watermark在上一篇文章中我们介绍了窗口相关的内容,那么问题来了,假如我们实时处理蒸漂亮同学的行为,结果蒸漂亮恰好网络异常,本来我们窗口设置的5秒一算,而她刚才的行为恰巧属于上一个5秒窗口A计算的,但是网络异常后使得她的这次行为数据进入了到了下一个5秒B中计算。那么我们的计算是不是就存在了问题!!所以这时我们就需要去了解下咱们的Watermark了,当然为了理解的更清晰会再举例介绍!1.1 基本概念之是什么推迟窗口触发的时间,实现方式:通过当前窗口中最大的eventTime-延迟原创 2020-05-13 21:59:26 · 4667 阅读 · 0 评论 -
你不得不知的Flink窗口
一、Windows详解如果你真的头铁看了上一篇的算子二,那么没有问题,看完这篇你应该会更加清晰的理解窗口,如果没看也没问题,我会适当的引入部分内容,但看完这篇后还是请打开算子二的窗口章节再去细品下相关算子!1.1 图解关系1.2 窗口操作类型分类对于窗口的操作分为两种,一种是keyedstrem,另一种是DataStream;他们的主要区别也仅仅在于建立窗口的时候一个为.window(…),一个为.windowAll(…)。经过keyBy的数据流将形成多组数据,下游算子的多个实例可以并行计算。而对原创 2020-05-13 21:59:06 · 775 阅读 · 0 评论 -
Flink万物之中Transform算子二
Flink万物之中Transform算子二2.1 图解关系2.2 开启窗口window与windowAllWindow()经过keyBy的数据流将形成多组数据,下游算子的多个实例可以并行计算。windowAll()不对数据流进行分组,所有数据将发送到下游算子单个实例上。// Keyed Windowstream.keyBy() <- 按照一个Key进行分组.window() <- 将数据流中的元素分配到相应的窗口中// N原创 2020-05-12 19:06:52 · 614 阅读 · 1 评论 -
Flink万物之中Transform算子一
Flink 的Transform算子在上一篇中我们讲完了获取Flink执行环境与定义某些Source的方法,那么接下来也就是重要的Flink Transform算子的讲解环节了!!!老规矩先上图:图中有很多算子,我们会讲解一部分,其他用到后会在教程中讲解一、基础算子1.1 map1.1.1 作用map可以理解为映射,对每个元素进行一定的变换后,映射为另一个元素,也就是一对一的转化1.1.2 图解1.1.3 代码演示val streamMap = stream.map { x =>原创 2020-05-12 19:06:27 · 1058 阅读 · 0 评论 -
Flink万物之始API流环境获取与Source定义
经过上几篇的教程我相信你对Flink的认识已经很不错了,我们是时候去开始我们最喜欢的编程环节了!!那么我们在写一个Flink程序的第一步是干什么呢?什么?定义source。很正确,但是少了一点,在定义source前我们需要先获取Flink的执行环境,究竟是本地执行还是集群执行,然后再去定义source再去Transform与sink!!所以我们先开始我们的第一步。一、流处理环境获取1.1 getExecutionEnvironment首先肯定要先给大家讲讲常用的创建一个执行环境的方法,getExecu原创 2020-05-11 19:17:37 · 515 阅读 · 0 评论 -
Flink任务调度原理之并行度与任务链
一、并行度上一篇已经讲到了DataFlow与执行图,细心的小伙伴应该会发现为什么有些算子生成执行图时是两个,有些是一个呢?如果你注意到了这些证明你是真的很闲!!!好了为了看得更加明显先上图:上面所描述的的也就是并行度!!!1.1 什么是并行度一个特定算子的 子任务(subtask)的个数被称之为其并行度(parallelism)。一般情况下,一个 stream 的并行度,可以认为就是其所有算子中最大的并行度。1.2 详解并行度JobGraph中展示了A算子并行度为4,C为2等等。而他在Task原创 2020-05-08 20:30:30 · 2128 阅读 · 0 评论 -
Flink任务调度原理之逻辑数据流与执行图
Flink任务调度原理之逻辑数据流与执行图一、逻辑数据流(DataFlow)1.1 Flink程序由什么组成?前几篇文章讲解了Flink的运行流程,与TaskManager与Slots,那么一个Flink程序究竟如何去写,它又是由什么所组成的呢?老规矩先上图:看了这个图相信大家对Flink Streaming Dataflow的了解又多了一点 。没错所有的Flink程序都是由三部分组成...原创 2020-05-08 19:57:19 · 1771 阅读 · 0 评论 -
Flink任务调度原理之TaskManager 与Slots
TaskManager 与Slots一、作用与关系上文讲到了每一个worker(TaskManager)为了控制能接收多少个task,worker通过task slot来进行控制(一个worker至少有一个task slot),那么是怎么处理的呢?话不多说先上图总:Flink 中每一个 TaskManager 都是一个JVM进程,它可能会在独立的线程上执行一个或多个 subtask为...原创 2020-04-28 21:04:45 · 13034 阅读 · 4 评论 -
写给忙人看的Flink任务提交流程
Flink任务提交流程一、任务提交流程上篇有简单提到Flink的运行方式有YARN、Mesos、K8s,以及standalone,所以老规矩先根据上篇的内容,先上一个运行图揭示一下当一个应用提交执行时,Flink的各个组件是如何交互协作的组件交互流程如上,那么接下来会详细的跟大家聊聊Yarn上运行细节二、任务提交流程(YARN)先上图:在Flink任务提交后:Client向HD...原创 2020-04-28 20:26:36 · 1700 阅读 · 0 评论 -
Flink流处理,你不得不知的运行组件
Flink运行时组件看到下面这张图了吗?什么看到了,那这篇博客你已经读完了!什么不够详细?那就在详细的跟你掰扯掰扯!一、作业管理器(JobManager)控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的JobManager 所控制执行。JobManager 会先接收到要执行的应用程序,这个应用程序会包括:作业图(JobGraph)、逻辑数据流图(logical d...原创 2020-04-22 20:08:41 · 576 阅读 · 0 评论 -
在忙也需要看的大数据处理发展史
流处理发展俗话说的好,“发展史都不知道,就跟他人讨论,犹如当众耍流氓”,什么?没听过,那现在可要谨记了!!一、数据处理架构简析1.1 事务型处理代表数据库mysql1.2 分析处理将数据从业务数据库复制到数仓,然后进行分析和查询1.3 有状态的流处理什么?不熟悉?不知道?那你可能需要去看看我的Flink专栏了。二、流处理的演变传统的数据处理方式介绍完了当然要需要紧扣主题的...原创 2020-04-20 20:47:25 · 482 阅读 · 0 评论 -
一文告诉你大数据Flink是什么
Flink简介一、是什么?1.1 起源Flink的前身是Stratosphere项目,Stratosphere是在2010~2014年由3所地处柏林的大学和欧洲的一些其他的大学共同进行的研究项目,2014年4月Stratosphere的代码被复制并捐赠给了Apache软件基金会,参加这个孵化项目的初始成员是Stratosphere系统的核心开发人员,2014年12月,Flink一跃成为Apa...原创 2020-04-20 20:29:45 · 1667 阅读 · 0 评论 -
Flink概述
Flink概述1.技术的演变1.1 Hadoop生态1.2 Storm的解决的问题1.3 Spark Streaming为什么出现?1.4 Flink的产生1.5 简单图解1.技术的演变在大数据计算中计算框架也在随着时间和需求不断的更新1.1 Hadoop生态14年Hadoop的MR计算框架带火了其相关的很多框架1.2 Storm的解决的问题MR框架解决了很多的需求,但由于其处理无法达...原创 2019-05-04 19:44:11 · 585 阅读 · 0 评论