Flink
Flink
2.wa
https://review-notes.top 技术博客
展开
-
Flink 入门基础-专栏文章目录汇总
版本Flink 1.9.1JDK 1.8Scala 2.12Gradle 5.6.2Intellij Idea 2019.2.4源码该笔记内容&源码与 github/flink-advanced 同步参考flink 官方flink-docs-release-1.9<<Fink原理、实战与性能优化>> 作者: 张利兵 著...原创 2019-11-06 11:00:51 · 381 阅读 · 2 评论 -
Flink DataStream窗口函数
该专栏内容与 flink-notes 同步,源码与 flink-advanced 同步。本节内容对应官方文档,本节内容对应示例源码1 窗口函数概念窗口函数为每个窗口上执行计算。一旦确定某个窗口已准备好进行处理,就可以使用该窗口函数来处理每个(可能是Keyed Windows)窗口的元素(请参考:5.3-Flink DataStream窗口机制(Window))分析WindowedStr...原创 2019-11-26 19:52:47 · 1024 阅读 · 0 评论 -
Flink DataStream窗口机制
1 Windows(窗口)Windows是处理无限流的核心。Windows将流分成有限大小的buckets,我们可以在其上应用计算1.1 Keyed WindowskeyBy(...).window(...) call for the keyed streams拥有keyed streams将使窗口化计算可以由多个任务并行执行,因为每个逻辑keyed streams都可以独立于其余逻辑流...原创 2019-11-22 20:40:00 · 577 阅读 · 0 评论 -
Flink DataStream ProcessFunction
目录1.ProcessFunction2.低阶Join(Low-level Joins)3.示例4.定时器(Timers)5.容错(Fault Tolerance)6.定时器合并(Timer Coalescing)该专栏内容与 flink-notes 同步,源码与 flink-advanced 同步。本节内容对应官方文档1.ProcessFunctionProcessF...原创 2019-11-20 11:51:45 · 1213 阅读 · 0 评论 -
Flink DataStream时间水印机制
目录Time(时间)如何设置时间域Watermark(水印)有序流中 Watermarks乱序流中 Watermarks并行流中的 Watermarks分配时间戳/水印 (Timestamp/Watermarks)SourceFunction 自定义分配assignTimestampsAndWatermarks 方法指定分配策略Periodic Waterma...原创 2019-11-19 18:44:40 · 803 阅读 · 2 评论 -
Flink DataStream概览
目录结构示例程序Data Sources(数据源)基于文件基于套接字基于集合自定义DataStream Transformations(转换操作)Data Sinks(输出端)容错能力控制延迟该专栏内容与 flink-notes 同步,源码与 flink-advanced 同步。本节内容对应官方文档示例程序示例源码object StreamingSimp...原创 2019-11-15 18:27:44 · 368 阅读 · 0 评论 -
Flink DataSet语义注解
目录结构Forwarded Fields Annotation(转发字段注解)函数类注释运算符参数Non-Forwarded Fields(非转发字段注解)Read Fields(读取字段注解)该笔记专栏内容与 github/flink-notes 同步,源码与 github/flink-advanced 同步。本节内容对应官方文档,本节内容源码语义注解可用于为Fli...原创 2019-11-15 15:50:03 · 857 阅读 · 0 评论 -
Flink基础API概览
目录结构数据集和数据流懒惰执行指定键定义元组的键使用字段表达式定义键使用按键选择器功能定义按键转换函数Lambda FunctionsRich functions支持的数据类型累加器和计数器该笔记专栏内容与 github/flink-notes 同步,源码与 github/flink-advanced 同步本节内容对应官方文档数据集和数据流Flink具...原创 2019-11-15 11:21:52 · 211 阅读 · 0 评论 -
Flink DataSet分布式缓冲
该笔记专栏内容与 github/flink-advanced 同步,源码与 github/flink-advanced 同步官方文档,文章内容源码Flink提供了一个分布式缓存,类似于hadoop,可以使用户在并行函数中很方便的读取本地文件,并把它放在 taskManager 节点中,防止task重复拉取执行机制如下:程序注册一个文件或者目录(本地或者远程文件系统,例如 hdfs 或者s3...原创 2019-11-14 11:30:49 · 309 阅读 · 0 评论 -
Flink DataSet广播变量
该笔记专栏内容与 github/flink-advanced 同步,源码与 github/flink-advanced 同步官方文档,文章内容源码重要信息:一台计算机上的并行任务之间共享广播变量数据结构。 修改其内部状态的任何访问都需要由调用者手动同步示例代码:/** 广播变量 * * @author Li.Wei by 2019/11/4 */object Broadcas...原创 2019-11-14 11:29:36 · 421 阅读 · 0 评论 -
Flink DataSet参数传递
该笔记专栏内容与 github/flink-advanced 同步,源码与 github/flink-advanced 同步实际开发过程中我们需要在整个任务运行过程中传递自定义参数 。官方文档,文章内容源码Dataset定义:trait Parameters extends MainApp { val env = ExecutionEnvironment.getExecutionEnvi...原创 2019-11-14 11:28:53 · 467 阅读 · 0 评论 -
Flink DataSet分配唯一标识符
在某些算法中,可能需要为数据集元素分配唯一标识符。[[org.apache.flink.api.scala.utils.DataSetUtils]] scala包装类具体实现源码可参考 DataSetUtilszipWithIndex为元素分配连续的标签,接收数据集作为输入并返回 DataSet[(Long, T)] 2元组的新数据集。此过程需要两步操作,首先是计数,然后是标记元素,由...原创 2019-11-13 17:29:57 · 505 阅读 · 0 评论 -
Flink DataSet概览
目录结构示例程序程序数据源输入(Data Sources)基于文件:基于集合:通用:程序数据输出(Data Sinks)转换操作(Transformations)MapFlatMapMapPartitionFilterProjection of Tuple DataSetTransformations on Grouped DataSetReduce on G...原创 2019-11-13 16:10:25 · 588 阅读 · 0 评论 -
Flink Environment 概览
Environment 概览该文档主要说明 Flink 作业执行时环境概念,根据不同作业情况选择不同的 Environment。大多数API提供了静态方法创建对应 Environment,示例如下:val bEnv: ExecutionEnvironment = ExecutionEnvironment.getExecutionEnvironmentval btEnv: BatchTabl...原创 2019-11-12 15:45:05 · 934 阅读 · 0 评论 -
Flink开发前准备与模拟数据集介绍
开发前准备工作参考 flink-advanced 项目 README.MD 文件说明数据集说明words 数据集说明模拟一篇文章为.txt文件,对其中单词进行一些频次分析参考 io.gourd.flink.scala.data.Words模拟游戏统计业务数据集说明(重要)模拟游戏业务数据参考 games/data/pojo 定义POJO内容参考 resources/data...原创 2019-11-12 15:42:50 · 356 阅读 · 0 评论 -
Flink类型系统
目录结构数据类型以及序列化Flink 中的类型处理最常见问题Flink 的 TypeInformation 类Flink 的 DataType 类创建 TypeInformation 或者 TypeSerializer在 Scala 中Scala API 中的类型信息泛型方法Java API 中的类型信息Java API 中的类型提示POJO 类型的序...原创 2019-11-08 16:53:37 · 1471 阅读 · 0 评论 -
Flink编程模型
该笔记内容&源码与 github/flink-advanced 同步抽象级别Flink提供了不同级别的抽象来开发 流/批 处理应用程序。最低级别的抽象仅提供状态流。通过Process Function嵌入到DataStream API中。允许用户自由地处理一个或多个流中的事件,并使用一致的容错状态。此外,用户可以注册事件时间和处理时间回调,从而允许程序实现复杂的计算。...原创 2019-11-06 17:44:09 · 328 阅读 · 0 评论 -
1.1-Flink概念:运行环境
任务和算子链分布式计算中,Flink 将算子(operator)的 subtask 链接(chain)成 task。每个 task 由一个线程执行。把算子链接成 tasks 能够减少线程间切换和缓冲的开销,在降低延迟的同时提高了整体吞吐量。链接操作的配置详情可参考:chaining docs下图的 dataflow 由五个 subtasks 执行,因此具有五个并行线程。Job Man...原创 2019-11-06 14:53:17 · 324 阅读 · 2 评论 -
Flink基础概念
简单介绍Flink通过实现Google DataFlow 流式计算模型实现了高吞吐、低延迟、高性能兼具实时流式计算框架。同时Flink支持高度容错的状态管理,防止状态在计算过程中因为系统异常而出现丢失,Flink周期性地通过分布式快照技术Checkpoints实现状态的持久化维护,使得即使在系统停机或者异常的情况下都能计算出正确的结果。优势1.同时支持高吞吐、低延迟、高性能Flink是...原创 2019-11-06 11:04:41 · 506 阅读 · 0 评论