
Flink_Java
文章平均质量分 84
学习Flink(Java版本)的文档
飝鱻.
这个作者很懒,什么都没留下…
展开
-
【Flink】Table API和Flink SQL
Table API和Flink SQL简绍基本程序结构TableEnvironmetnt表(Table)输出表更新模式DataStream与表的相互转换查看执行计划时间简绍对于像DataFrame这样的关系型编程接口,因其强大且灵活的表达能力,能够让用户通过非常丰富的接口对数据进行处理,有效降低了用户的使用成本,近年来逐渐成为主流大数据处理框架主要接口形式之一。Flink也提供了关系型编程接口Table API以及基于TableAPI的SQL API,让用户能够通过使用结构化编程接口高效的构建Flin原创 2022-02-26 07:43:40 · 608 阅读 · 0 评论 -
【Flink ERROR】List of column aliases must have same degree as table; the returned table of function ‘
List of column aliases must have same degree as table; the returned table of function ‘split’ has 1 columns, whereas alias list has 2 columns在自定义表函数时,运行出现了此错误,具体报错如下:log4j:WARN No appenders could be found for logger (org.apache.flink.api.java.typeutils.T原创 2022-02-25 09:02:17 · 1959 阅读 · 0 评论 -
【Flink】容错机制和状态一致性
容错机制和状态一致性容错机制一致性检查点(Checkpoints)检查点状态的恢复检查点的算法保存点状态一致性状态一致性简介一致性的分类一致性检查点(checkpoint)端到端(end-to-end)状态一致性端到端的精确一次(exactly-once)保证容错机制一致性检查点(Checkpoints)Flink故障恢复机制的核心,就是应用状态的一致性检查点在Flink中不能把当前所有分区的数据直接存下来,因为是有状态的流式计算所以除了当前处理的数据之外还应该有当前的状态。因为在状态编原创 2022-02-25 07:42:57 · 438 阅读 · 1 评论 -
【Flink】ProcessFunction详解
ProcessFunction详解前言KeyedProcessFunction函数的组成定时器测试侧输出流(SideOutput)前言我们之前学习的转换算子是无法访问事件的时间戳信息和水位线信息的。而这在一些应用场景下,极为重要。例如MapFunction这样的map转换算子就无法访问时间戳或者当前事件的事件时间。基于此,DataStream API 提供了一系列的Low-Level 转换算子。可以访问时间戳、watermark 以及注册定时事件。还可以输出特定的一些事件,例如超时事件等。P原创 2022-02-24 07:19:40 · 1967 阅读 · 2 评论 -
【Flink】Flink的状态管理
Flink的状态管理Flink中的状态状态的分类Operator StateKeyed State状态后端(State Backends)Flink中的状态什么是状态?由一个任务维护,并且用来计算某个结果的所有数据,都属于这个任务的状态可以认为状态就是一个本地变量,可以被任务的业务逻辑访问Flink 会进行状态管理,包括状态一致性、故障处理以及高效存储和访问,以便开发人员可以专注于应用程序的逻辑有些算子有些任务是没有状态的,如map操作,只跟输入数据有关。像窗口操作不管是增量窗原创 2022-02-23 07:50:07 · 651 阅读 · 0 评论 -
【Flink】时间语义和WaterMark
时间语义和WaterMark时间语义WaterMark时间语义在Flink中时间可以分为三种,分别是1️⃣:Event Time:事件创建的时间2️⃣:Ingestion Time:数据进入Flink的时间3️⃣:Processing Time:执行操作算子的本地系统时间,与机器相关谈这三个时间主要是为了引出watemark,因为很多场景下,事件发生的时间事件时间是我们业务所关心的,基于事件时间计算,采用某种策略,则无论是采用实时流数据还是历史数据,都可以保证结果是一致的为了更生原创 2022-02-11 22:12:05 · 1200 阅读 · 0 评论 -
【Flink】Window API
Window APIWindow的概念窗口窗口的分类Window API窗口分配器(window assigner)窗口函数(window function)其它可选 APIWindow的概念窗口一般真实的流都是无界的,怎样处理无界的数据?可以把无限的数据流进行切分,得到有限的数据集进行处理 —— 也就是得到有界流窗口(window)就是将无限流切割为有限流的一种方式,它会将流数据分发到有限大小的桶(bucket)中进行分析窗口的分类滚动窗口(Tumbling Win原创 2022-02-11 16:47:41 · 1177 阅读 · 0 评论 -
【Flink】Flink基础数据类型和自定义Sink
Flink基础数据类型和自定义Sink基础数据类型自定义SinkkafkaRedisElasticsearchMySQL基础数据类型Flink 支持所有的 Java 和 Scala 基础数据类型,Int, Double, Long, String……DataStream<Integer> numberStream = env.fromElements(1, 2, 3, 4);numberStream.map(data -> data * 2);Java 和 Scala原创 2022-02-10 23:55:18 · 1241 阅读 · 0 评论 -
【Flink】Flink的transform转换算子
Flink的transform转换算子数据准备基本转换算子(Map、FlatMap、Filter)MapflatMapFilterKeyBy自定义reduce拆分和组合Split 和 SelectConnect 和 CoMapUnion富函数(Rich Functions)数据准备下面所使用的数据全都是以下数据sensor_1,1547718199,35.8sensor_6,1547718201,15.4sensor_7,1547718202,6.7sensor_10,1547718205原创 2022-02-10 23:22:42 · 639 阅读 · 0 评论 -
【Flink】Flink读取数据的四种方式
Flink读取数据的四种方式准备工作从集合中读取从文件中读取从Kafka中读取自定义读取方式准备工作Flink默认运行时是没有日志的,若想要出现日志,需要在pom文件添加 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <versio原创 2022-02-09 23:37:09 · 6355 阅读 · 0 评论 -
【Flink】Flink运行时的架构
Flink运行时的架构Flink 运行时的组件作业管理器(JobManager)任务管理器(TaskManager)资源管理器(ResourceManager)分发器(Dispatcher)任务提交流程任务调度原理并行度TaskManager 和 Slots并行子任务的分配程序和数据流执行图(ExecutionGraph)数据传输形式任务链(Operator Chains)Flink 运行时的组件运行时主要有四大组件作业管理器(JobManager)控制一个应用程序执行的主进程,也就是说.原创 2022-02-09 20:48:26 · 1535 阅读 · 0 评论 -
【Flink】Flink的简介和简单的使用
Flink的简介和简单的使用Flink的简介创建项目编写代码批处理流处理打包运行图形界面画的运行命令行运行Flink的简介Apache Flink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行状态计算。Flink的主要特点事件驱动基于流的世界观:在 Flink 的世界观中,一切都是由流组成的,离线数据是有界的流;实时数据是一个没有界限的流:这就是所谓的有界流和无界流分层API:➢越顶层越抽象,表达含义越简明,使用越方便,越底层越具体,表达能力越丰富,使用越灵活创建项目.原创 2022-02-09 00:48:42 · 1287 阅读 · 0 评论 -
【Flink】Flink的部署
Flink的下载地址Flink的部署StandAlone模式Flink on yarn模式Session-ClusterPer-Job-Cluster部署注意点在Flink 的下载界面我们可以看到大致有两种Flink的下载版本,俩者的区别就是一种是有hadoop支持的版本,如果需要和Hadoop来进行交互的化,就需要下载此版本上述只是针对于较低版本的Flink我们可以看到..原创 2022-02-08 23:42:44 · 1416 阅读 · 0 评论