![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Flink
文章平均质量分 77
Khalil Fang@1010
这个作者很懒,什么都没留下…
展开
-
Flink学习笔记之 Window
类似SparkStreaming这种流式计算,但我们处理无限数据集已经由 批处理转向到流处理,而window 是一种切割无限数据为有限块进行处理的。Window 是无线数据流处理的核心, Window 将一个无限的 stream 拆分成有限大小的 "buckets" 桶, 可以在这些桶上进行操作计算。Window 类型Window 可以分成两类:CountWindow:按照指定的数据条数生成一个 Window, 与时间无关。 TimeWindow: 按照时间生成 Window。对于 Tim原创 2021-01-14 18:27:54 · 184 阅读 · 0 评论 -
Flink学习笔记之实现UDF函数--- 更细粒度的控制流
函数类(Function Classes)Flink 暴露了所有 udf 函数的接口(实现方式为接口或者抽象类)。例如 MapFunction,FilterFunction,ProcessFunction等等。下面例子实现了 FilterFunction 接口:方式1DataStream<String> flinkTweets = tweets.filter(new FlinkFilter());public static class FlinkFilter implements原创 2021-01-14 09:59:17 · 211 阅读 · 0 评论 -
Flink学习笔记之DataStream API 简介
什么能被转化成流?Flink 的 Java 和 Scala DataStream API 可以将任何可序列化的对象转化为流。Flink自带的序列化器有基本类型:即 String、Long、Integer、Boolean、Array 复合类型:Tuples、POJOS、和 Scala case classes 而且 Flink 会交给 Kryo 序列化其他类型。也可以将其他序列化器和 Flink 一起使用。特别是有良好支持的 Avro。Java tuples 和 POJOSFink 的.原创 2021-01-13 11:49:55 · 177 阅读 · 0 评论 -
Flink学习笔记之有状态流处理
什么是State?尽管数据流中的许多操作一次仅查看一个事件(例如事件解析器),但某些操作会记住多个事件的信息(例如窗口运算符)。这些操作称为有状态。有状态操作的一些示例:当应用程序搜索某些事件模式时,状态将存储到目前为止遇到的事件序列。 在每分钟/小时/天汇总事件时,状态将保留待处理的汇总。 在数据点流上训练机器学习模型时,状态保持模型参数的当前版本。 当需要管理历史数据时,该状态允许有效访问过去发生的事件。Flink 需要了解状态,以便使用检查点 和 保存点来使其容错。关于状态的知原创 2021-01-13 11:49:12 · 416 阅读 · 0 评论 -
Flink学习笔记之Flink架构
Flink 是一个分布式系统,需要有效分配和管理计算资源才能执行流应用程序。它集成了所有常见的集群资源管理器,例如 Hadoop YARN 、Apache Mesos 和 Kubernets,但也可以设置作为独立集群甚至库运行。本节概述了 Flink 架构,并且描述了其主要组件如何交互以执行应用程序和从故障中恢复。Flink集群剖析Flink 运行时由两种类型的进程组成:一个 JobManager 和 一个或者多个 TaskManager。Client 不是运行时和程序执行的一部分.原创 2021-01-13 11:48:36 · 186 阅读 · 1 评论 -
Flink学习笔记之运行时组件(二)
程序与数据流(DataFlow)所有的Flink程序都是由三部分组成的: Source、Transformation 和 sink。 Source 负责读取数据源,Transformation 利用各种算子进行处理加工, Sink 负责输出。在运行时,Flink上运行的程序会被映射成 "逻辑数据流" (dataflows),它包含了三个部分。每一个dataflow以一个 sources 开始以一个或多个 sinks 结束。 dataflow 类似于任意的有向无环图(DAG)。在大部分情况下,程序原创 2021-01-13 11:47:39 · 124 阅读 · 0 评论 -
Flink学习笔记之运行时组件(一)
Flink 运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作:作业管理器(JobManager)、资源管理器(ResourceManager)、任务管理器(TaskManager)以及分发器(Dispatcher)。因为Flink是用 Java 和 Scala 实现的,所以所有组件都会运行在 Java 虚拟机上。每个组件的职责如下:作业管理器(JobManager) 控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的 JobManager 所控制执行。JobMa原创 2021-01-09 11:28:58 · 116 阅读 · 0 评论 -
Flink学习笔记之提交任务
提交任务的形式有多种一、Web页面提交方式在集群启动之后, 在localhost:8081 可以很清楚的查看到 集群的运行状态, TaskManager、JobManager等等。打包处理的时候还会涉及并行度的问题,我们可以根据情况自行设置。并行度问题:env 可以设置环境的并行度,每一步操作都可以设置 setParallelism 并行度。并行度优先级: 代码 -》全局 -》提交JobWeb-》集群配置文件默认并行度。show plan 查看执行的...原创 2021-01-09 11:07:30 · 1193 阅读 · 0 评论