![](https://img-blog.csdnimg.cn/direct/a0be939a288840a1b96d5cb289baf502.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Flink
文章平均质量分 82
Flink技术分享
PONY LEE
运动不息,生命不止!
展开
-
Flink-cdc更好的流式数据集成工具
Flink CDC 是基于Apache Flink的一种数据变更捕获技术,用于从数据源(如数据库)中捕获和处理数据的变更事件。CDC技术允许实时地捕获数据库中的增、删、改操作,将这些变更事件转化为流式数据,并能够对这些事件进行实时处理和分析。Flink CDC提供了与各种数据源集成的功能,包括常见的关系型数据库(如MySQL、PostgreSQL、Oracle等)以及NoSQL数据库(如MongoDB、HBase等)。原创 2024-05-23 14:38:59 · 978 阅读 · 0 评论 -
FlinkSQL Tips
FlinkSQL使用小技巧总结原创 2024-04-18 10:59:11 · 507 阅读 · 1 评论 -
FlinkSQL State的生命周期
FlinkSQL state 生命周期配置对于有状态计算的流连接和分组聚合操作,用户可以通过 STATE_TTL 来指定算子粒度的,该方式的状态配置优先级大于作业级别的状态优先级配置。原创 2024-04-17 21:55:04 · 392 阅读 · 1 评论 -
Flink中StateBackend(工作状态)与Checkpoint(状态快照)的关系
只有基于 RocksDB state backend的状态快照才支持增量checkpoint,基于heap的并不支持默认情况下 checkpoint 是禁用的,需要手动开启:Flink状态分为Keyed State和非keyed State:Keyed State,可以使用RocksDB state backend和heap state backend。原创 2024-01-30 21:37:08 · 1520 阅读 · 0 评论 -
Flink的KeyedProcessFunction基于Event Time和Process Time的定时器用法实例分析
KeyedProcessFunction是用来处理KeyedStream的。每有一个数据进入算子,则会触发一次processElement()的处理。它还提供了定时器的功能,在在预警、监控等场景特定场景下,非常适合。KeyedProcessFunction定时器包分为两种:基于事件时间、基于处理时间。下面以统计计数的方式展示这两种定时器的用法,并附上详细的分析思路。原创 2024-01-18 17:33:04 · 686 阅读 · 0 评论 -
FlinkSQL【分组聚合-多维分析-性能调优】应用实例分析
是否开启【MiniBatch 聚合】和【Local-Global 聚合】对分组聚合场景影响巨大,尤其是在数据量大的场景下原创 2024-01-16 10:51:32 · 674 阅读 · 0 评论 -
FlinkSQL中【FULL OUTER JOIN】使用实例分析(坑)
Flink版本:flink1.14最近有【FULL OUTER JOIN】场景的实时数据开发需求,想要的结果是,左右表来了数据都下发数据;左表存在的数据,右表进来可以关联下发(同样,右表存在的数据,左表进来也可以关联下发)。但在实际应用中遇到一些问题。原创 2024-01-04 18:02:25 · 767 阅读 · 0 评论 -
FlinkSQL窗口实例分析
Windowing table-valued functions (Windowing TVFs),即窗口表值函数注意:窗口函数不可以单独使用,需要聚合函数,按照 window_start、window_end 分区,即存在:group by window_start,window_endTUMBLE函数采用三个必需参数,一个可选参数:data:是一个表参数,可以是与时间属性列的任何关系。timecol:是一个列描述符,指示数据的哪些时间属性列应映射到滚动窗口。原创 2023-12-28 15:14:51 · 1169 阅读 · 0 评论 -
flink watermark 实例分析
把一个现有的列定义为一个为表标记事件时间的属性。该列的类型必须为,且是 schema 中的顶层列,它也可以是一个计算列。watermark是触发计算的机制,只要,就会触发当前行数据的计算。原创 2023-12-21 10:28:02 · 1221 阅读 · 0 评论 -
FlinkSql-Temporal Joins-Lookup Join
在 Flink SQL 中,Temporal Joins 是一种常见的数据关联操作,特别适用于处理包含时间维度的数据。Lookup Join 是 Temporal Joins 的一种类型,它允许将流数据与维表数据进行关联。当您有一个实时的流数据流,并且需要与维表进行关联,以获取维度信息时,Lookup Join 是一个很有用的工具。例如,在电商领域,您可以将实时的订单流与商品维表进行关联,以获取商品的详细信息,如名称、价格、类别等。原创 2023-11-27 16:33:51 · 622 阅读 · 0 评论 -
flink watermark介绍及watermark的窗口触发机制
在谈watermark之前,首先需要了解flink的三种时间概念。在flink中,有三种时间戳概念:Event Time 、Processing Time 和 Ingestion Time。其中watermark只对Event Time类型的时间戳有用。原创 2023-05-11 22:30:14 · 1026 阅读 · 0 评论 -
flink部署模式总结
基于flink-1.15.0此部署模式主要用于测试此部署模式,由flink自己负责资源管理分配此部署模式,main函数在jobmanager运行并生成job graph,减轻客户端压力部署方式:flink部署模式(一)- standalone和application此部署模式,共享jobmanager和taskmanager,所有的job都在一个runtime中运行。优点:启动集群只有jobmanager,提交job才去yarn申请资源启动taskmanager,任务完成自动释放taskmanager,原创 2022-06-20 18:15:08 · 1182 阅读 · 3 评论 -
flink部署模式(四)- standalone k8s application部署模式
Dockerfile构建镜像NOTE: 需要镜像上传到docker镜像私服(或者在每个node节点都构建相同的镜像),并保证所有k8s node节点都有权限链接到此私服。登录本地镜像仓库重新打标签推送镜像测试镜像可用性创建configmap创建jobmanager创建taskmanager创建jobmanager service创建namespace设置命名空间首选项创建 Flink 集群查看服务信息查看日志信息删除服务删除ns及下面所有服务查看pod详情查看集群node详情查看configmap原创 2022-06-20 15:32:05 · 586 阅读 · 0 评论 -
flink部署模式(三)- standalone k8s session 部署模式
flink版本flink1.15.0。k8s部署(minkube简单快速部署k8s):https://minikube.sigs.k8s.io/docs/start/如果使用 MiniKube,请确保在部署 Flink 集群之前先执行 minikube ssh ‘sudo ip link set docker0 promisc on’,否则 Flink 组件不能自动地将自己映射到 Kubernetes Service 中。拉取镜像测试镜像可用性登录本地镜像仓库重新打标签推送镜像NOTE:需要镜像上传到d原创 2022-06-20 15:18:46 · 762 阅读 · 0 评论 -
flink部署模式(五)- native k8s 两种部署模式
首先需要k8s环境,并且k8s version >1.9。flink版本flink1.15.0。k8s部署(minkube简单快速部署k8s):https://minikube.sigs.k8s.io/docs/start/如果使用 MiniKube,请确保在部署 Flink 集群之前先执行 minikube ssh ‘sudo ip link set docker0 promisc on’,否则 Flink 组件不能自动地将自己映射到 Kubernetes Service 中。native k8s s原创 2022-06-20 15:01:17 · 2080 阅读 · 2 评论 -
flink部署模式(二)- yarn三种部署模式
基于flink1.15.0开启flink yarn-session集群提交任务进入客户端交互界面强制杀掉任务NOTE: 启动集群只有jobmanager,提交job才去yarn申请资源启动taskmanager,任务完成自动释放taskmanager启动perjob集群查看集群上运行的job./bin/flink list -t yarn-per-job -Dyarn.application.id=application_1652928425471_0252 取消某个job**NOTE:**在per原创 2022-06-20 14:19:12 · 1480 阅读 · 0 评论 -
yarn部署模式依赖预上传设置
将运行所需的依赖包与上传到远程(如:hdfs系统),这将使作业提交变得非常轻量级,因为所需的Flink jar和应用程序jar将由指定的远程获取,而不是由客户端发送到集群。NOTE:Session Mode on yarn【yarn.provided.lib.dirs】参数解释NOTE:如果自己指定 yarn.provided.lib.dirs,有以下注意事项:示例:............原创 2022-06-20 14:32:36 · 807 阅读 · 0 评论 -
flink部署模式(一)- standalone和application
这里采用docker方式部署实现flink的standalone和application部署模式,由于local模式是standalone模式的特例,所以这里就不再演示。Dockfile镜像构建登录本地镜像仓库:推送镜像:测试镜像可用性创建网络开启jobmanager开启taskmanagerStandalone Mode on Docker创建网络开启jobmanager开启taskmanager提交任务到standalone集群............原创 2022-06-20 14:05:18 · 1056 阅读 · 0 评论 -
flink任务java VerifyError 报错209问题
使用java开发的工程或多或少都会遇到VerifyError 类似的问题。flink版本: flink-1.10.1jdk版本为: 1.8.0_20java version "1.8.0_20"Java(TM) SE Runtime Environment (build 1.8.0_20-b26)Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)报错:22/05/16 16:46:08 INFO entrypoin原创 2022-05-16 19:56:28 · 961 阅读 · 0 评论 -
flink中checkpoint机制总结
CheckPoint 执行过程:JobManager 端的 CheckPointCoordinator 向所有 SourceTask 发送 CheckPointTrigger,Source Task 会在数据流中安插 CheckPoint barrier。当 task 收到所有的 barrier 后,向自己的下游继续传递 barrier,然后自身执行快照,并将自己的状态异步写入到持久化存储中。增量 CheckPoint 只是把最新的一部分更新写入到 外部存储;为了下游尽快做 CheckPoin原创 2022-04-20 17:01:23 · 2467 阅读 · 0 评论 -
flinkx部署
flinkflink 版本:flink-1.10.1flink部署目录: /data/flink/flink-1.10.1flinkxflinkx基于flink做的开源数据集成服务,目前改名DTStackflinkx 版本:flinkx_1.10部署目录: /data/flinkx/flinkx_1.10flinkx插件分发脚本需要分发到所有yarn nodemanager节点#!/bin/bash env#flinkx_deploy.shYARN_HOSTS=bdphdp01,bd原创 2022-04-19 16:24:42 · 522 阅读 · 0 评论 -
flink开发maven idea配置
pom.xml文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.原创 2022-04-19 10:37:36 · 4372 阅读 · 0 评论 -
Flink并行度配置方式和执行级别
Flink并行度配置方式和执行级别Flink设置并行度的几种方式系统设置修改配置文件: /conf/flink-conf.yaml的parallelism.default数值客户端CLI设置(或webui直接输入数量)./bin/flink run -p 4或全局设置env.setParallelism(3);算子设置(部分设置)dataStream.map(new MapFunctionClass()).setParallelism(4).keyBy原创 2022-04-14 19:28:01 · 1872 阅读 · 0 评论 -
Flink的statebackend状态后端实例分析
概念flink 的状态后端和检查点在 Flink 中,State Backend 有两个功能:提供对state(状态)的访问、查询如果开启了 Checkpoint(检查点),会周期向远程(或者本地)的持久化存储上传数据和返回元数据 (meta) 给JobManager。当前测试的版本基于Flink1.12,在此版本版本中,以上两个功能是混在一起的,即把状态存储和检查点的创建概念混在一起。Flink 1.13 中将状态和检查点两者区分开来,具体可参考。可用的State Backendflin原创 2022-03-29 01:37:58 · 2686 阅读 · 0 评论 -
基于yarn资源管理的flink内存模型设计
集群现状hadoop集群yarn内存资源节点节点内存node manager 分配内存预留内存hadoop0264GB52GB12GBhadoop0364GB52GB12GBhadoop0464GB52GB12GByarn计算资源总共可以内存:156GB排除集群常驻任务占用内存12GB,计算任务可用内存:144GByarn container 最小内存:1GB,最多可用container:144个。基于yarn的flink任务的内存模型原创 2021-12-15 19:44:36 · 1874 阅读 · 0 评论 -
Flink on Kubernetes 部署模式
flink on k8s 部署模式flink官网提供两种在k8s的部署模式分别为 standalone模式 和 native模式两种模式又分别分session模式和per-job模式。standalone的session模式和standalone的per-job模式,以及 native的session模式和native的per-job模式。考虑到频繁更改业务代码带来的影响,首先考虑使用session模式。native模式相对于Standalone模式更有优势,但目前尚处于实验阶段,稳定性不及st原创 2021-11-04 11:12:09 · 3982 阅读 · 8 评论