16.Flink实现UDF函数

前言实现UDF的目的是为了更加细粒度的控制流。一、函数类(Function Classes)Flink暴露了所有UDF函数的接口(实现方式为接口或者抽象类)。例如MapFunction, FilterFunction, ProcessFunction等等。下面例子实现了FilterFunction接口://自定义函数类,筛选出成绩大于等于60的学生 class MyFilter extend...

大数据 2022-01-16 PM 981次 0条

15【转载】Flink数据类型和序列化

[TOC]一、为 Flink 量身定制的序列化框架为什么要为 Flink 量身定制序列化框架?​ 大家都知道现在大数据生态非常火,大多数技术组件都是运行在 JVM 上的,Flink 也是运行在 JVM 上,基于 JVM 的数据分析引擎都需要将大量的数据存储在内存中,这就不得不面临 JVM 的一些问题,比如 Java 对象存储密度较低等。 针对这些问题,最常用的方法就是实现一个显...

大数据 2022-01-14 PM 757次 0条

14.Flink流处理API之Transform转换算子

[TOC]1、Map作用将数据流中的数据进行转换, 形成新的数据流,消费一个元素并产出一个元素。示例需求:使用Map将数据转换成样例类代码import org.apache.flink.streaming.api.scala._ /** * Created by lilinchao * Date 2022/1/13 * Description 使用Map将数据转换成样例类 ...

大数据 2022-01-13 PM 1045次 0条

13.Flink流处理API之Source

[TOC]前言flink支持从文件、socket、集合中读取数据。同时也提供了一些接口类和抽象类来支撑实现自定义Source。版本:flink 1.14.2scala 2.12一、基于本地集合的source引入pom.xml依赖<properties> <flink.version>1.14.2</flink.version> <sc...

大数据 2022-01-12 PM 1016次 0条

12.Flink流处理API之Environment

前言流处理基本步骤:(1)创建环境(类似于spark里的上下文SparkContext);(2)添加数据来源Source;(3)对数据进行Transform处理;(4)添加输出Sink。一、Environment分类1、批处理ExecutionEnvironmentLocalEnvironment:本地模式执行RemoteEnvironment :提交到远程集群执行CollectionEnv...

大数据 2022-01-10 PM 1152次 0条

11.Flink并行度和任务链

[TOC]一、并行度(Parallelism)1.1 概念​ Flink程序的执行具有并行、分布式的特性。​ 在执行过程中,一个流(stream)包含一个或多个分区(stream partition),而每一个算子(operator)可以包含一个或多个子任务(operator subtask),这些子任务在不同的线程、不同的物理机或不同的容器中彼此互不依赖地执行。...

大数据 2022-01-10 PM 1247次 0条

10.Flink数据流和执行图介绍

[TOC]一、数据流(Dataflow)1.1 概述数据流(Dataflow):描述了数据如何在不同操作之间流动,Dataflow程序通常表现为有向无环图(DAG)。1.2 分类Flink程序由三部分组成:Source(数据源):负责获取输入数据;Flink 在流处理和批处理上的 source 大概有 4 类:基于本地集合的 source、基于文件的 source、基于网络套接字的 sour...

大数据 2022-01-09 PM 1296次 0条

09.Flink任务调度原理

[TOC]一、任务调度原理客户端不是运行时和程序执行的一部分 , 但它用于准备并发送dataflow(JobGraph)给 Master(JobManager),然后,客户端断开连接或者维持连接以等待接收计算结果。当Flink集群启动后,首先会启动一个JobManger和一个或多个的TaskManager。由Client提交任务给JobManager,JobManager再调度任务到各个Ta...

大数据 2021-12-30 PM 918次 0条

08.Flink任务提交流程

[TOC]一、Flink运行时架构Flink 客户端提交Flink作业到Flink集群Stream Graph 和 Job Graph构建JobManager资源申请任务调度应用容错TaskManager接收JobManager 分发的子任务,管理子任务任务处理(消费数据、处理数据)二、Standalone模式任务提交流程说明(1)App程序通过rest接口将应用提交给Dispatcher;...

大数据 2021-12-29 PM 1035次 0条

07.Flink运行时组件

[TOC]前言本篇将介绍Flink的四大组件,先在开头做一个简单的概要总结:JobManager:分配任务,调度checkpoint做快照TaskManager:执行任务ResourceManager:资源管理器,分配资源,管理资源Dispacher:方便提交任务的接口,WebUI一、概述Flink 运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作:作业管理器(JobM...

大数据 2021-12-28 PM 804次 0条