- 博客(302)
- 资源 (18)
- 收藏
- 关注
原创 Checkpoint 源码探查
一个Job的JobManager,每个job在同一时刻有且仅有一个JobMaster。在HighAvailability配置下,由JobMasterServiceLeadershipRunner参与选举,成为Leader后,启动相应job的JobMaster,并启动job。
2024-03-23 16:10:02 516
原创 Flink 源码编译
切换到alibaba的setting.xml(外网地址网速不好可能失败),顺便清理下idea的缓存(Invalidate and Restart,”File" -> "Invalidate Caches / Restart"),再试试,就OK了。可能你用的是公司的maven仓库,导致一些依赖下载失败,看看右边maven的依赖图也可以看出来,依赖缺失会有红线(下图我这个是正常的)方式2:从 git 上下载,然后手动导入项目,flink 官网介绍也是这种。方式1:直接 get from vcs。
2024-02-07 21:18:53 1246
原创 FlinkSql通用调优策略
使用DataGenerator 提前进行压测,了解数据的处理瓶颈、性能测试和消费能力开启minibatch:"table.exec.mini-batch.enabled", "true"开启Local+Global 两阶段聚合:"table.exec.mini-batch.enabled", "true"解决数据倾斜问题:流式倾斜,开启minibatch窗口类有界操作,传统的两阶段聚合的方式数据源分布就不均匀,做reblance针对大状态开启rocksdb。
2024-02-07 21:15:17 1747 1
原创 Flink 状态和容错
状态是什么:其实状态并不是flink独有的特性,状态在生活中普遍存在和使用,只是近些年在实时任务这些词汇会被频繁提及离线其实也有,比如Remote Shuffle Service,对于整个任务来说,每个 Stage 的结果就是状态,而Remote Shuffle Service 就起到了的作用场景示例:一个消费上游 Kafka,使用 Set去重计算 DAU 的实时任务。kafka。
2024-02-07 20:28:47 2217
原创 Flink流式数据倾斜
KeyBy 前数据已经不均匀了,可能是Topic 每个分区的数据不一致(较为少见),或者上游task处理以后导致的数据不均匀,导致下游operate chains的某个task压力很大。流式处理的数据倾斜和 Spark 的离线或者微批处理都是某一个 SubTask 数据过多这种数据不均匀导致的,但是因为流式处理的特性其中又有些许不同。窗口操作类似Spark的微批处理,直接两阶段聚合的方式来解决就可以。开启minibatch 和 global,牺牲时效性,减少输出数据量。2.3 keyby类。
2024-02-07 20:21:34 1387
原创 flink反压及解决思路和实操
我这个是并行度是 4 ,所以会有 0、1、2、3 代表是哪个 subTask(task 下每个并行task),其中看到的比较多的是这两个,outPutUsage 代表发送端 Buffer 的使用率,inPutusage 代表的接收端 Buffer 的使用率。也可能是 TaskManager 的内存引起的 GC 问题,也会导致反压,我们一般使用 G1 回收机制,有可能是 TaskManager JVM 各区内存分配不合理导致频繁的 Full GC。,比如大促时流量激增,或者使用了数据炸开的函数。
2024-02-07 20:16:47 2408
原创 详述FlinkSql Join操作
Full Join:流任务中,左流或者右流的数据到达之后,如果没有 Join 到另外一条流的数据,就会等待(左流放在左流对应的 State 中等,右流放在右流对应的 State 中等),如果之后另一条流数据到达之后,发现能和刚刚那条数据 Join 到,则会输出。Full Join:和Left原理一样,左流或者右流的数据到达之后,无论有没有 Join 到另外一条流的数据,都会输出,如果一条流的数据到达之后,发现之前另一条流之前输出过没有 Join 到的数据,则会发起回撤流。
2024-02-07 16:13:10 2117
原创 FlinkSql 窗口函数
以前用的是Grouped Window Functions(分组窗口函数),但是分组窗口函数只支持窗口聚合现在FlinkSql统一都是用的是Windowing TVFs(窗口表值函数),Windowing TVFs更符合 SQL 标准且更加强大,支持window join、Window aggregations、Window Top-N、Window Deduplication
2024-02-07 16:06:10 2073
原创 flink写入paimon流程代码
RowDataStoreWriteOperator继承TableWriteOperator,这个类又通过provider初始化了write,RowDataStoreWriteOperator类刚才用到了父类TableWriteOperator的write对象。以StoreSinkWrite.Provider是StoreSinkWriteImpl为例,那上面的write()实际调用就是这个类的write()最终走到了MergeTreeWriter的write(),判断内存是否满了,满了就溢出磁盘。
2024-01-30 14:19:44 406
原创 数据质量和治理论
数据质量和数据治理,这个概念很大不是一两个人可以处理的问题,但是又不得不做,往往需要整个团队或者跨团队协作尽量去处理好这个事情以下是一些方法论。
2024-01-29 14:23:23 912
原创 spark window源码探索
1. WindowExec 物理执行逻辑入口,主要doExecute()和父类WindowExecBase2. WindowFunctionFrame 窗框执行抽象,其子类对应sql语句的不同窗框其中又抽象出BoundOrdering类, 用于判断一行是否在界限内(Bound), 分为RowBoundOrdering和RangeBoundOrdering我们的UDAF在何时已什么顺序接受数据, 何时会被执行eval, 都取决于窗框内方法调用逻辑!
2024-01-29 13:57:15 988
原创 flink if函数false时对字符串做阶段的bug
我们之前在使用flink1.12时候也没有发现问题,但是最近一个1.15的任务出现了一个bug。最终在flink issues找到了这个bug,在这个issues里对代码做了修复。我们找了一下这个函数,发现代码确实是这样理解的,但是和官网描述明显不一致。flink官网对if函数就是我们正常的理解。本来应该返回cdefg,但是返回了cde。合并这个issues,问题解决。
2024-01-21 17:33:11 563
原创 spark dateformat源码排错
有一个任务 yyyy写成了YYYY,导致年份不对触发告警第一时间用spark dateformat搜索下看看官网,发现spark 官网也没有描述YYYY的信息。
2024-01-18 19:47:02 492
原创 Vue学习记录
plugin插件:用于增强Vue,包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据,比如vuex就是插件,了解即可,后面很多插件都是封装好的。脚手架结构, render函数,vue.config.js,package.json,vue.js和vue.runtime.xxx.js的区别,有兴趣在了解下就可以。v-if,v-else,v-else-if ,就是if else,他指定了条件为true才渲染,否则不渲染,渲染多个元素,可以用的组合方式。
2023-05-10 16:35:42 690 1
原创 jar包获取resource下配置文件路径
我们在代码里可以这样写但是打成jar包后就不行了,我们有很多方法获取jar包路径或者resource下文件路径但是打印后你会发现路径里面带 !,此时就算你去掉!也不行就算把路径copy到linux,用cat命令也显示文件不合法,猜测打包之后的jar就是无法获取的但是我们可以读取文件,然后写入固定路径,再使用......
2022-07-12 17:08:59 4961
原创 离线数据仓库建模
建模如何衡量数据模型可复用,完善且规范完善度看 DWD 层是否完善,最好看 ODS 层有多少表被 DWS/ADS/DM 层引用,也就是跨层引用率DWS/ADS/DM 层完善度,主要是汇总数据的完善度,可以满足多少需求,当然肯定做不到100%,但是覆盖的越多,查询速度和使用成本就越低复用度模型设计,它应该是交织的发散型结构,可以通过元数据中心的数据血缘图观察可以用模型引用系数作为指标,衡量数据中台模型设计的复用度。引用系数越高,说明数仓的复用性越好。模型引用系数
2022-02-22 14:45:02 471
原创 数据安全性
目录1. 数据安全包含哪些方面1.1 数据备份与恢复1.2 垃圾回收箱设计1.3 精细化的权限管理1.4 操作审计机制1.5 开发和生产集群物理隔离1. 数据安全包含哪些方面大数据方面的数据安全性主要以下三个方面如何解决数据误删除问题 如何解决敏感数据泄露问题 如何解决开发和生产物理隔离问题1.1 数据备份与恢复HDFS 的数据备份,和冷备集群其实,Hadoop 在 3.x 就正式引入了 EC 存储,它是一种基于纠删码实现的数据容错机制,通过将数据进
2022-02-21 15:03:50 5372
原创 数据成本优化
目录1 数据成本不断升高2 如何精细化成本管理2.1 全局资产盘点2.2 成本核算2.3查找问题2.4治理优化2.5治理效果评估1 数据成本不断升高数据上线容易下线难任务不敢轻易下线,但又存在不需要的任务低价值的数据应用消耗了大量的资源有些表甚至宽表占用资源,但下游却没什么重要产出烟囱式的开发模式模型设计不合理,表不能复用,对表重复开发加工数据倾斜浪费大量计算资源数据未设置...
2022-02-14 14:40:08 941
原创 中台数据质量
目录1.什么是数据质量,我们遇到了什么问题2.数据质量的问题和根源2.1业务源系统变更2.2 数据开发任务变更2.3 物理资源不足或者基础设施不稳定3.如何提高数据质量3.1 添加稽核校验任务3.2 建立全链路监控3.3 智能预警,确保任务按时产出3.4 规范化管理制度4.如何衡量数据质量1.什么是数据质量,我们遇到了什么问题报表数据出错,无人发现数据出现问题,导致推荐等使用数据不准确发现数据问题,但是数据问题源头排查耗时长,导致数据长时间不可
2022-02-10 15:37:30 1626
原创 数据指标管理
目录1.统一指标1.1为什么要统一指标1.2.如何统一指标1.2.1 规范化定义指标1.2.2 指标太多,如何管理指标字典1.统一指标1.1为什么要统一指标为了解决指标混乱现状:相同指标名称,口径定义不同 相同口径,指标名称不一样 不同限定词,描述相同事实过程的两个指标,相同事实部分口径不一致 指标口径描述不清晰或者描述错误 指标命名不规范,难于理解 指标数据来源和计算逻辑不清晰1.2.如何统一指标1.2.1 规范化定义指标面向主题域管理...
2022-01-16 06:30:00 709
vcruntime140_1找不到解决方案的文件.rar
2020-07-08
kafka监控工具KafkaOffsetMonitor.rar
2020-06-13
8篇个性化搜索(personalization search)的论文
2019-04-26
反编译软件
2019-04-26
sm整合phoenix和连接池(xml和注解两种方式)
2018-10-15
springboot+mybaties+phoenix+HikariCP
2018-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人