Flink
不稳定记忆
静心则专,静思则通,静身则安,静默则熟。
展开
-
时间语义与 Wartermark
1 Flink 中的时间语义 在 Flink 的流式处理中,会涉及到时间的不同概念,如下图所示: Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink 通过时间戳分配器访问事件时间戳。 Ingestion Time:是数据进入 Flink 的时间。 Processing Time:是每一个执...原创 2019-11-26 01:10:08 · 548 阅读 · 0 评论 -
Flink 中的 Window 以及 Window API
1 Window 1.1 Window 概述 streaming 流式计算是一种被设计用于处理无限数据集的数据处理引擎,而无限数据集是指一种不断增长的本质上无限的数据集,而 window 是一种切割无限数据为有限块进行处理的手段。 Window 是无限数据流处理的核心,Window 将一个无限的 stream 拆分成有限大小的”buckets”桶,我们可以在这些桶上做计算操作。 ...原创 2019-11-25 21:16:31 · 294 阅读 · 0 评论 -
Flink 流处理 API_Sink
Sink Flink 没有类似于 spark 中 foreach 方法,让用户进行迭代的操作。虽有对外的输出操作都要利用 Sink 完成。最后通过类似如下方式完成整个任务最终输出操作。 stream.addSink(new MySink(xxxx)) 官方提供了一部分的框架的 sink。除此以外,需要用户自定义实现 sink。 1 Kafka pom.x...原创 2019-11-25 00:17:53 · 262 阅读 · 0 评论 -
Flink 流处理 API_实现 UDF 函数——更细粒度的控制流
1 函数类(Function Classes) Flink 暴露了所有 udf 函数的接口(实现方式为接口或者抽象类)。例如MapFunction, FilterFunction, ProcessFunction 等等。 下面例子实现了 FilterFunction 接口:class FilterFilter extends FilterFunction[String] { ...原创 2019-11-24 15:49:53 · 522 阅读 · 0 评论 -
Flink 流处理 API_支持的数据类型
Flink 流应用程序处理的是以数据对象表示的事件流。所以在 Flink 内部,我们需要能够处理这些对象。它们需要被序列化和反序列化,以便通过网络传送它们;或者从状态后端、检查点和保存点读取它们。为了有效地做到这一点,Flink 需要明确知道应用程序所处理的数据类型。Flink 使用类型信息的概念来表示数据类型,并为每个数据类型生成特定的序列化器、反序列化器和比较器。 Flink 还具有一个类...原创 2019-11-24 15:41:49 · 318 阅读 · 0 评论 -
Flink 流处理 API_Transform
Transform 转换算子 1 map val streamMap = stream.map { x => x * 2 } 2 flatMap flatMap 的函数签名:def flatMap[A,B](as: List[A])(f: A List[B]): List[B] 例如: flatMap(List(1,2,3))(i List(i,...原创 2019-11-24 15:14:17 · 156 阅读 · 0 评论 -
Flink 流处理 API _Source
1 从集合读取数据 // 定义样例类,传感器id,时间戳,温度 case class SensorReading(id: String, timestamp: Long, temperature: Double) object Sensor { def main(args: Array[Str...原创 2019-11-24 11:39:32 · 260 阅读 · 0 评论 -
Flink 流处理 API_Environment
1 Environment 1.1 getExecutionEnvironment 创建一个执行环境,表示当前执行程序的上下文。 如果程序是独立调用的,则此方法返回本地执行环境;如果从命令行客户端调用程序以提交到集群,则此方法返回此集群的执行环境,也就是说,getExecutionEnvironment 会根据查询运行的方式决定返回什么样的运行环境,是最常用的一种创建执行环境的方式...原创 2019-11-24 11:37:39 · 368 阅读 · 0 评论 -
Flink运行架构
1 任务提交流程(yarn模式)Flink任务提交后,Client向HDFS上传Flink的Jar包和配置,之后向Yarn ResourceManager提交任务,ResourceManager分配Container资源并通知对应的NodeManager启动ApplicationMaster,ApplicationMaster启动后加载Flink的Jar包和配置构建环境,然后启动JobMa...原创 2019-11-23 12:54:28 · 289 阅读 · 0 评论 -
Flink部署(Standalone、Yarn)
1 standalone模式1.1 安装解压缩 flink-1.7.0-bin-hadoop27-scala_2.11.tgz修改 flink/conf/flink-conf.yaml 文件修改 /conf/slave文件.分发给 另外两台机子启动访问http://hadoop1:80811.2 提交任务...原创 2019-11-23 12:15:44 · 679 阅读 · 0 评论 -
提交到Flink集群上去的时候报错,说是 “无法从JAR文件构建程序 ”、 JobManagerlog负责xxx丢失了领导权、TaskManagerlog心跳超时
我集群是Standalone文件和jar我三台机器都有了集群也启动了我首先在win本地运行了一下成功了然后我在网页上执行的结果失败了我查看了taskmanager日志和jobmanager日志Taskmanager说是:JobManager负责e6b20ded57f2f6ef23838a990b3e567f丢失了领导权。Jobman...原创 2019-11-23 11:47:24 · 619 阅读 · 0 评论 -
Flink_API_批处理WordCount和流处理WordCount
1.搭建maven工程 flink-20191.2pom文件 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance...原创 2019-11-20 00:15:56 · 258 阅读 · 0 评论 -
Flink简介
1、初识FlinkApache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。Flink起源于Stratosphere项目,Stratosphere是在2010~2014年由3所地处柏林的大学和欧洲的一些其他的大学共同进行的研究项目,2014年4月Stratosphere的代码...原创 2019-11-19 20:27:15 · 184 阅读 · 0 评论 -
Flink VS Spark:大数据流式计算的巅峰对决
在流式计算领域,同一套系统需要同时兼具容错和高性能其实非常难,同时它也是衡量和选择一个系统的标准。在这个领域,Flink和Spark无疑是彼此非常强劲的对手。1. Flink VS Spark 之 APISpark与Flink API情况如下:Spark与Flink 对开发语言的支持如下所示:2. Flink VS Spark 之 ConnectorsSpark 支...原创 2019-10-24 13:58:35 · 217 阅读 · 0 评论 -
Flink概述
1. Flink的优势,以及选择Flink的理由 在典型的大数据的业务场景下数据业务最通用的做法是:选用批处理的技术处理全量数据,采用流式计算处理实时增量数据。在绝大多数的业务场景之下,用户的业务逻辑在批处理和流处理之中往往是相同的。但是,用户用于批处理和流处理的两套计算引擎是不同的。2. 目前开源大数据计算引擎 流计算如Storm,Samza,Flink,Kafka ...转载 2019-10-06 16:58:25 · 211 阅读 · 0 评论