
Flink
文章平均质量分 83
wangchunbo_1989
这个作者很懒,什么都没留下…
展开
-
Flink原理(五)——容错机制
1. 前言 流式计算分为有状态和无状态两种情况,所谓状态就是计算过程中的中间值。对于无状态计算,会独立观察每个独立事件,并根据最后一个事件输出结果。什么意思?大白话举例:对于一个流式系统,接受到一系列的数字,当数字大于N则输出,这时候在此之前的数字的值、和等情况,压根不关心,只和最后这个大于N的数字相关,这就是无状态计算。什么是有状态计算了?想求过去一分钟内所有数字的和或者平均数等,...转载 2019-11-22 10:45:53 · 354 阅读 · 1 评论 -
Flink原理(四)——任务及调度
一、任务调度 Flink是通过task slot的来定义执行资源的,为优化资源的利用率,Flink通过slot共享,可以将多个连续的task任务组成的一个pipeline放在一个slot中运行。当任务并行度>1时,并行任务中的每个pipeline就会分配到一个slot去执行,这样就会有一个问题,若是任务的并行度大于集群中slot的个数了,会咋办?首先,毫无疑问的一点是集群中的slot中...转载 2019-11-22 10:33:02 · 667 阅读 · 0 评论 -
Flink原理(三)——Task(任务)、Operator Chain(算子链)和Slot(资源)
本文所讨论的计算资源是指用来执行 Task 的资源,是一个逻辑概念。本文会介绍 Flink 计算资源相关的一些核心概念,如:Slot、SlotSharingGroup、CoLocationGroup、Chain等。并会着重讨论 Flink 如何对计算资源进行管理和隔离,如何将计算资源利用率最大化等等。理解 Flink 中的计算资源对于理解 Job 如何在集群中运行的有很大的帮助,也有利于我们更透彻...转载 2019-11-22 10:14:26 · 3183 阅读 · 0 评论 -
Flink原理(二)——资源
前言 本文主要是想简要说明Flink在集群部署、任务提交、任务运行过程中资源情况。一、集群部署阶段 集群部署这里指的是Flink standalone模式,因为在Yarn模式(包括session、single job模式也成Per-job模式)是可以仅通过Flink client提交任务到Yarn上,所以是否手动部署Flink集群对任务的执行是没有影响的。下图[1]是简单的Fli...转载 2019-11-22 10:13:10 · 344 阅读 · 0 评论 -
Flink原理(一)——基础架构
1、前言 在讲Flink基本结构之前,我们的先知道Flink是什么?中文官网上的解释是:Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算[1]。关于无边界和有边界数据流的定义可以参考官网上的解释,从其解释上可以了解到Flink是一个框架和计算引擎,是用来处理数据流的。处理数据流并不意味着Flink仅仅能用于我们通常所说的流处理系统中,这里数据...转载 2019-11-22 10:10:51 · 246 阅读 · 0 评论 -
Flink流计算编程--watermark(水位线)简介
1、watermark的概念watermark是一种衡量Event Time进展的机制,它是数据本身的一个隐藏属性。通常基于Event Time的数据,自身都包含一个timestamp,例如1472693399700(2016-09-01 09:29:59.700),而这条数据的watermark时间则可能是:watermark(1472693399700) = 147269339670...转载 2019-07-15 11:36:45 · 224 阅读 · 0 评论 -
Flink流计算编程--watermark(水位线)简介
https://blog.youkuaiyun.com/lmalds/article/details/52704170转载 2019-07-15 10:04:57 · 258 阅读 · 0 评论 -
Flink学习----水印
时间要理解水印(Wartermark),首先需要理解三个时间概念:事件时间(Event Time) 摄入时间(Ingestion Time) 处理时间(Process Time)事件时间是每一个独立的事件在产生它的设备中发生的时间。以用户行为分析为例,事件时间就是用户访问页面点击按钮时的时间。摄入时间是事件进入 Flink 的时间。以用户行为分析为例,摄入时间就是 Flink...转载 2019-07-15 09:54:22 · 433 阅读 · 0 评论 -
Flink学习----窗口
滚动窗口滚动窗口(Tumbling Window)又称固定窗口(Fixed Window),将事件分配到固定大小且非重叠的桶中。当超过了窗口边界,事件就会发送到执行函数进行处理。计数滚动窗口基于计数的滚动窗口,定义了在出发执行之前需要收集多少事件:ds.keyBy(0) .countWindow(5) // ① .sum(1) .print()① 计数为...转载 2019-07-15 09:53:21 · 173 阅读 · 0 评论 -
Flink之三 flink on yarn
Flink的运行模式 flink的运行模式有local模式,cluster,yarn等模式;flink集群层次结构 这一节我们主要一起了解flink on yarn 模式,flink on yarn 有两种模式: 一:long-running Flink cluster on YARN 二 : run a Flink job on YARNStar...转载 2018-11-16 13:55:44 · 648 阅读 · 0 评论 -
Flink之一 Flink基本原理介绍
Flink介绍:很多人可能都是在 2015 年才听到 Flink 这个词,其实早在 2008 年,Flink 的前身已经是柏林理工大学一个研究性项目, 在 2014 被 Apache 孵化器所接受,然后迅速地成为了 ASF(Apache Software Foundation)的顶级项目之一。Flink 的最新版本目前已经更新到了 0.10.0 了,在很多人感慨 Spark 的快速发展的同时,...转载 2018-11-16 13:58:42 · 305 阅读 · 0 评论 -
Flink之二 Flink安装及入门案例
Flink 安装(集群模式): 1:下载安装flink的安装包,注意hadoop的版本兼容问题 2:解压安装包,进入conf配置文件目录下,主要配置文件为flink-conf.yaml和slaves,配置flink-conf.yaml解析如下: 2.1 基本配置 jobmanager.rpc.address: localhost1 --jobManager ...转载 2018-11-16 14:01:48 · 1232 阅读 · 0 评论 -
Flink源码系列——获取StreamGraph的过程
接着《Flink源码系列——一个简单的数据处理功能的实现过程》一文的结尾继续分析,在完成对数据流的转换操作之后,需要执行任务,这时会调用如下代码:env.execute("Socket Window WordCount");在StreamExecutionEnvironment中,这是一个抽象方法,具体的实现在其子类中,其子类StreamContextEnvironment的实现如下:p...转载 2018-11-19 08:50:46 · 423 阅读 · 0 评论 -
Flink源码系列——获取JobGraph的过程
接《Flink源码系列——获取StreamGraph的过程》获取到StreamGraph后,继续分析,如果通过获取到的StreamGraph来转化为JobGraph。转化逻辑在StreamingJobGraphGenerator这个类中,入口是createJobGraph(StreamGraph)方法。先是初始化了一个StreamingJobGraphGenerator的实例,StreamingJ...转载 2018-11-19 08:53:29 · 659 阅读 · 0 评论 -
Flink源码系列——JobManager处理SubmitJob的过程
接《Flink源码系列——获取JobGraph的过程》,在获取到JobGraph后,客户端会封装一个SubmitJob消息,并将其提交给JobManager,本文就接着分析,JobManager在收到SubmitJob消息后,对其处理逻辑。JobManager是一个Actor,其对接受到的各种消息的处理入口是handleMessage这个方法,其中对SubmitJob的处理入口如下:overr...转载 2018-11-19 08:57:46 · 1974 阅读 · 0 评论 -
Flink源码系列——TaskManager处理SubmitTask的过程
接《Flink源码系列——JobManager处理SubmitJob的过程》,在从JobManager中,将SubmitTask提交到TaskManager后,继续分析TaskManager的处理逻辑。 TaskManager是个Actor,混入了LeaderSessionMessageFilter这个trait,所以在从JobManager接收到JobManagerMessages.Leade...转载 2018-11-19 09:01:10 · 422 阅读 · 0 评论 -
Flink源码系列——Flink中一个简单的数据处理功能的实现过程
在Flink中,实现从指定主机名和端口接收字符串消息,对接收到的字符串中出现的各个单词,每隔1秒钟就输出最近5秒内出现的各个单词的统计次数。代码实现如下:public class SocketWindowWordCount { public static void main(String[] args) throws Exception { /** 需要连接的主机名...转载 2018-11-19 09:02:14 · 1131 阅读 · 2 评论