草庐IT

Flink_CDC

全部标签

Flink Watermark和时间语义

Flink中的时间语义时间语义:EventTime:事件创建时间;IngestionTime:数据进入Flink的时间;ProcessingTime:执行操作算子的本地系统时间,与机器无关。不同的时间语义有不同的应用场合,我们往往更关系事件时间EventTime。数据生成的时候就会自动注入时间戳,EventTime可以从日志数据的时间戳timestamp)中提取。设置EventTime我们可以直接在代码中,对执行环境调用setStreamTimeCharacteristic方法,设置流的时间特性。具体的时间,还需要从数据中提取时间戳timestamp。valenv=StreamExecutio

flink中值得监控的几个指标

背景为了维持flink的正常运行,对flink的日常监控就变得很重要,本文我们就来看一下flink中要监控的几个重要的指标重要的监控指标1.算子的处理速度的指标:numRecordsInPerSecond/numRecordsOutPerSecond,这有助于你了解到算子的是否正在合理运行2.应用的监控度:uptime表示应用已经持续运行的时间,numRestarts表示job被重启的次数,重启的原因很多种,比如内存占用过多被killed等3.检查点健康度:numberOfCompletedCheckpoints表示已经完成的检查点数目,numberOfFailedCheckpoints表示未

flink的window和windowAll的区别

背景在flink的窗口函数运用中,window和windowAll方法总是会引起混淆,特别是结合上GlobalWindow的组合时,更是如此,本文就来梳理下他们的区别和常见用法window和windowAll的区别window是KeyStream数据流的方法,其并行度是任意的,也就是最大可以和分组key的数量相同windowAll是DataStream数据流的方法,其并行度只能是1,也就是所有的元素都会被聚合到一个算子任务上,性能极差GlobalWindows.create()是一个全局的窗口分配器,它的作用和TimeWindow或CountWindow一样,都是对元素进行窗口分配,不同点在于

flink 键控状态(keyed state)

github开源项目flink-note的笔记。本博客的实现代码都写在项目的flink-state/src/main/java/state/keyed/KeyedStateDemo.java文件中。项目github地址:github1.flink键控状态flink键控状态是作用与flinkKeyedStream上的,也就是说需要将DataStream先进行keyby之后才能使用。键控状态会为每个key维护一份状态。flink支持五种键控状态,分别是:ValueState:维护一个值的状态,比方说我们要统计每个用户的购买次数,那么就先将流按照用户id进行keyby,然后维护一个类型为Intege

Flink源码-Task执行

上一节我们分析到了Execution的生成,然后调用taskManagerGateway.submitTask方法提交task,提交的时候会将executionVertex封装成TaskDeploymentDescriptor,task的提交与执行涉及到了flink多个组件的配合,之前没有详细讲过,可能有的小伙伴有点不太清楚,这里我们花点时间介绍一下。1.Flink各个组件介绍1.JobManager在JobManager启动的时候会启动三个比较重要的组件:1.WebMonitorEndpoint:里面有大约六七十个handler,如果客户端使用finkrun的方式来提交一个job,最终会由W

Flink SQL和Table API实现消费kafka写入mysql

FlinkSQL和TableAPI实现消费kafka写入mysql1、构建table环境//创建flink流处理环境StreamExecutionEnvironmentenv=StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);//table环境StreamTableEnvironmenttableEnv=StreamTableEnvironment.create(env);2、构建sourcekafka方式一:API//Kafka连接器Kafkakafka=newKafka()        .

Flink1.17实战教程(第四篇:处理函数)

系列文章目录Flink1.17实战教程(第一篇:概念、部署、架构)Flink1.17实战教程(第二篇:DataStreamAPI)Flink1.17实战教程(第三篇:时间和窗口)Flink1.17实战教程(第四篇:处理函数)Flink1.17实战教程(第五篇:状态管理)Flink1.17实战教程(第六篇:容错机制)Flink1.17实战教程(第七篇:FlinkSQL)文章目录系列文章目录1.基本处理函数(ProcessFunction)1.1处理函数的功能和使用1.2ProcessFunction解析1.3处理函数的分类2.按键分区处理函数(KeyedProcessFunction)2.1定时

flink教程

文章目录来自于尚硅谷教程1.Flink概述1.1特点1.2与SparkStreaming对比2.Flink部署2.1集群角色2.2部署模式2.3Standalone运行模式2.3.1本地会话模式部署2.3.2应用模式2.4YARN运行模式2.4.1会话模式部署2.4.2应用模式部署2.5历史服务3.系统架构3.1并行度3.2算子链3.3任务槽(taskslot)3.4任务槽和并行度的关系3.5作业提交流程4.时间和窗口4.1窗口分类4.2窗口分配器4.2.1时间窗口4.2.2计数窗口4.3窗口函数4.3.1增量聚合函数(ReduceFunction/AggregateFunction)4.3.

Flink的处理函数——processFunction

目录一、处理函数概述      二、Process函数分类——8个(1)ProcessFunction(2)KeyedProcessFunction(3)ProcessWindowFunction(4)ProcessAllWindowFunction(5)CoProcessFunction(6)ProcessJoinFunction(7)BroadcastProcessFunction(8)KeyedBroadcastProcessFunction三、KeyedProcessFunction案例1.运行processElement方法中的事件时间(1)输入数据2.运行processElemen

Flink CDC 2.3 发布,持续优化性能,更多连接器支持增量快照,新增 Db2 支持

01FlinkCDC简介FlinkCDC [1]是基于数据库的日志CDC技术,实现了全增量一体化读取的数据集成框架。配合Flink优秀的管道能力和丰富的上下游生态,FlinkCDC可以高效实现海量数据的实时集成。作为新一代的实时数据集成框架,FlinkCDC具有全增量一体化、无锁读取、并行读取、表结构变更自动同步、分布式架构等技术优势,同时社区提供了完整的文档支持 [2]。在FlinkCDC开源的两年多时间里,社区成长迅速,目前FlinkCDC社区已有76位贡献者,7位Maintainer,社区钉钉用户群超过7800人。02FlinkCDC2.3概览在社区用户和贡献者们的共同努力下,Flink