数据与算法架构提升之路
我是一名专注于AI和数据架构的技术专家,拥有扎实的编程与数学基础。在大数据框架重构和底层源码开发方面积累了丰富经验,擅长自动驾驶、数据架构和深度学习等领域的研究与实践。目前,我主要从事数据AI架构相关工作,并曾在新能源汽车行业积累了深厚的技术背景。对技术创新和持续学习充满热情,致力于推动前沿技术的应用与发展。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【深度剖析】流处理系统性能优化:解决维表JOIN、数据倾斜与数据膨胀问题
本文剖析流处理作业的三大性能瓶颈:维表 JOIN 效率低、数据倾斜、数据膨胀,并给出优化策略。包括优化维表 JOIN 如采用 Lookup Join、多表 JOIN 时小表广播等;解决数据倾斜如热点键打散、时间窗口预聚合;应对数据膨胀如替换 LEFT JOIN 为 Interval Join、启用 State TTL 等,助力流处理性能提升。原创 2025-05-30 12:03:15 · 312 阅读 · 0 评论 -
深入解析Flink Kafka Connector的分布式流数据采集架构与底层实现
Flink与Kafka的结合不仅仅是简单的API封装,而是两个分布式系统之间深度的架构整合。这种整合充分发挥了两个系统各自的优势,为大规模数据流处理提供了强大的技术基础。原创 2025-03-22 03:06:46 · 259 阅读 · 0 评论 -
Flink Gauss CDC:深度剖析存量与增量同步的创新设计
开发Flink Gauss CDC是为了适配华为自研GaussDB的特殊日志格式和逻辑复制机制,解决Flink CDC无法直接支持的问题,同时优化存量与增量同步的效率和一体化读取能力,满足GaussDB复合主键处理、数据落库等定制化需求,以实现高效、准确的数据同步。原创 2025-01-22 23:40:35 · 1497 阅读 · 0 评论 -
Flink CDC Connector开发指南:逻辑复制协议实战与性能优化
本文介绍了PostgreSQL与Flink CDC的数据同步原理,Debezium定义的消息格式,及Gauss100 OLTP数据库的数据同步方案,包括通过JDBC拉取数据、逻辑复制插件Socket通讯、同步数据到Kafka等方法,以及Flink中自定义SourceFunction的实现。原创 2024-11-29 18:01:26 · 608 阅读 · 0 评论 -
Flink PostgreSQL CDC源码解读:深入理解数据流同步
PostgreSQL通过Replication Slot和Logical Decoding实现CDC,捕获数据变更并通过Debezium等工具发送到消息队列。WAL日志记录数据库操作,而Debezium支持多种部署方式,如Kafka Connect和嵌入式引擎,以实现数据流同步。Flink通过配置postgres-cdc连接器,利用Debezium获取PostgreSQL的变更数据。原创 2024-10-18 19:12:03 · 681 阅读 · 0 评论 -
揭秘Flink SQL:如何通过五大优化策略超越传统Java API
Flink SQL通过优化器、代码生成、减少数据shuffle、避免序列化开销和算子融合,实现高效数据处理。原创 2024-08-28 10:44:56 · 481 阅读 · 2 评论 -
Flink与Redis集成:自定义连接器实现维表创建与数据汇入
本文详细介绍了如何在Apache Flink中通过自定义连接器与Redis进行数据交互,包括创建Redis维表和实现数据汇入。文章展示了如何利用现有的Redis连接器和Flink的动态表特性,通过自定义的Source和Sink,实现流式数据与Redis维表的实时Join操作,以及如何将数据批量写入Redis。此外,还探讨了如何通过缓存优化和复用现有格式来提高性能。原创 2024-01-31 22:55:29 · 867 阅读 · 1 评论 -
Flink与Kafka集成:跨版本兼容性与性能优化实战
详解如何在Flink与不同版本的Kafka集成中解决兼容性问题,通过自定义SourceFunction和SinkFunction实现高效数据流处理。原创 2024-01-05 20:03:34 · 1951 阅读 · 1 评论 -
Flink CEP完全指南:捕获数据的灵魂,构建智慧监控与实时分析大师级工具
掌握Flink CEP,即时捕捉关键事件,助力企业智慧监控与实时数据分析;深入数据流心脏,创造无限可能。原创 2024-01-05 01:04:56 · 1227 阅读 · 1 评论 -
如何在Flink SQL中轻松实现高效数据处理:最佳实践揭秘Protobuf自定义格式
在Flink SQL中,自定义数据格式是一个强大的功能,它允许用户将外部系统中的数据以特定的格式读取到Flink中,并在Flink SQL中进行处理。本文将结合提供的链接内容,探讨如何在Flink SQL中自定义Protobuf格式,并介绍其背后的原理和实现过程。原创 2024-01-02 20:38:52 · 1652 阅读 · 0 评论 -
基于 Flink SQL 和 Paimon 构建流式湖仓新方案
Paimon 结合了湖存储和 LSM(Log Structured MergeTree)技术,提供了低延时、低成本的流式数据湖解决方案。 Paimon 与 Flink 有深度集成,支持 CDC原创 2023-12-22 21:42:26 · 2258 阅读 · 1 评论 -
Flink SQL: 高效解析 Kafka 数据并存储为 Parquet 至 HDFS
Flink SQL应用程序的结构是通过定义一系列任务来执行实时数据处理,这些任务创建必要的表和视图,处理数据,然后将结果插入指定的接收器。这项工作利用 Flink 的流处理能力以及 SQL 和 UDF 来转换和管理数据流原创 2023-12-11 16:31:10 · 1516 阅读 · 0 评论 -
Flink源码解析零之重要名词的理解
类比法理解关键名词原创 2023-11-30 02:03:09 · 1431 阅读 · 1 评论 -
Flink源码解析四之执行计划⽣成(拍摄电影类比法)
本文源码基于flink1.13讨论执行计划⽣成,建议先读大纲有总体印象再深入细节。毕竟精力有限原创 2023-11-04 01:47:47 · 836 阅读 · 0 评论 -
Flink源码解析八之任务调度和重启容错
Flink Task调度基于执行图,分为流式和批处理两种模式。Task结构包含运行时上下文和执行逻辑。调度器负责部署和管理Task,支持失败重启和容错。整体流程是从Source开始,逐步部署下游Task,实现数据的流式处理。原创 2023-11-03 13:09:25 · 1203 阅读 · 0 评论 -
Flink SQL Hive Connector使用场景
本文基于FLink1.16讨论,Apache Flink Hive Connector提供了Flink与Hive的集成,主要用于在Flink中读取和写入Hive数据原创 2023-11-01 23:07:52 · 1765 阅读 · 2 评论 -
Flink算子限流策略详解与实践
重写AbstractRichFunction中的open()方法,在处理数据前调用limiter.acquire(1);调用limiter.open(getRuntimeContext())的源码,实际内部是RateLimiter,根据并行度算出subTask中RateLimiter的permitsPerSecondRateLimiter 使用了令牌桶算法来实现限流原创 2023-09-06 15:48:30 · 1216 阅读 · 0 评论 -
关于flink-sql-connector-phoenix的重写逻辑
这篇文章从软件设计架构师的角度深入剖析了一个基于 Flink 的自定义 Phoenix 连接器的实现过程,展示了如何在 Flink 中实现一个高效、可扩展的自定义连接器。原创 2023-08-15 15:06:34 · 1067 阅读 · 0 评论 -
Flink大数据量调优思路总结(二)
数据量越大越需要对flink进行精细化调优原创 2023-04-10 12:44:46 · 898 阅读 · 0 评论 -
Flink sql-cli 查询 Iceberg 的坑
table.exec.iceberg.infer-source-parallelism.max 默认为 100,如果按默认值true的话会根据分区个数进行推断 查了下分区是超过100的原创 2023-03-13 16:12:24 · 513 阅读 · 0 评论 -
Flink整合Prometheus Pushgetway讲解与实战操作
Pushgateway是Prometheus的一个组件,prometheus server默认是通过Exporter主动获取数据(默认采取pull拉取数据)原创 2023-02-09 21:08:30 · 1049 阅读 · 0 评论 -
Flink源码解析六之组件通讯实现原理
Flink 的网络协议栈是组成 flink-runtime 模块的核心组件之一,是每个 Flink 作业的核心。它连接所有 TaskManager 的各个子任务(Subtask),因此,对于 Flink 作业的性能包括吞吐与延迟都至关重要。与 TaskManager 和 JobManager 之间通过基于 Akka 的 RPC 通信的控制通道不同,TaskManager 之间的网络协议栈依赖于更加底层的 Netty API。原创 2023-01-11 15:22:27 · 972 阅读 · 0 评论 -
Flink监控指标知识入门总结
flink所有的监控都是基于Metric 实现的原创 2023-05-03 17:56:10 · 959 阅读 · 0 评论 -
Flink Checkpoint 问题排查实用指南
在 Flink 中,状态可靠性保证由 Checkpoint 支持,当作业出现 failover 的情况下,Flink 会从最近成功的 Checkpoint 恢复。在实际情况中,我们可能会遇到 Checkpoint 失败,或者 Checkpoint 慢的情况,本文会统一聊一聊 Flink 中 Checkpoint异常的情况(包括失败和慢),以及可能的原因和排查思路。原创 2022-12-12 20:56:03 · 2016 阅读 · 0 评论 -
Flink在蔚来自动驾驶AO部门的运用
摘要:本文整理自蔚来资深数据开发工程师林志浩,在FFA行业案例专场的分享。本篇内容主要分为四个部分:原创 2022-12-12 00:02:53 · 2916 阅读 · 0 评论 -
Flink源码解析五之RPC原理解析
1、RpcGateway 路由,RPC的老祖宗,各种其他RPC组件,都是 RpcGateWay 的子类2、RpcServer RpcService(ActorSystem) 和 RpcEndpoint(Actor) 之间的粘合层3、RpcEndpoint 业务逻辑载体,对应的 Actor 的封装4、RpcService 对应 ActorSystem 的封装原创 2023-01-11 14:53:41 · 370 阅读 · 0 评论 -
深度剖析:Flink 检查点机制的工作原理与优化策略
Flink具体如何保证exactly-once呢?它使用一种被称为"检查点"(checkpoint)的特性,在出现故障时将系统重置回正确状态原创 2022-10-26 14:59:26 · 1570 阅读 · 0 评论 -
Flink技术灵活使用总结(二)广播变量、广播流的使用
Flink可以将数据广播到TaskManager上就可以供TaskManager中的SubTask/task去使用,数据存储到内存中。这样可以减少大量的shuffle操作,而不需要多次传递给集群节点原创 2022-10-25 21:17:20 · 1507 阅读 · 0 评论 -
Flink技术灵活使用总结(一)状态与状态后端
State可以被记录,在失败的情况下数据还可以恢复,Flink中有两种基本类型的State:Keyed State,Operator State。状态后端用来保存快照的地方,比如Checkpointing机制中持久化所有状态的一致性快照,其中包含了非用户定义的状态,如timers、connectors、windows等,还有用户定义的状态,如上面说的Keyed State 和 operator State。原创 2022-10-25 20:18:11 · 882 阅读 · 0 评论 -
Flink部署指南:深入解析单机与集群模式
在YARN上使用Flink有3种模式:Per-Job模式、Session模式和Application模式。在Standalone上使用Flink有3种模式:Per-Job模式、Session模式和Application模式。原创 2022-09-22 17:03:35 · 780 阅读 · 0 评论 -
Flink大数据量调优思路总结(一)
flink 性能优化,大家可以先实践后,发现瓶颈后再来阅读此文。根据实际情况调优,没有万能的法则原创 2022-09-15 17:12:03 · 718 阅读 · 0 评论 -
掌握Flink SQL核心原理,解锁企业级流批数据处理新境界
Flink SQL结合动态表与持续查询,通过Table API和SQL简化流批数据处理,支持多种流连接方式,广泛应用于企业级数据平台原创 2022-09-09 15:38:57 · 954 阅读 · 0 评论 -
Flink 高级数据处理:打造定制化的反序列化器
Flink自定义反序列化器原创 2022-09-08 21:20:47 · 1151 阅读 · 0 评论 -
优化 Apache Flink 中的维表 Join 策略:探索最佳实践和技巧
总体来讲,关联维表有六个基础的方式:(1)查找外部数据源关联(2)预加载维表关联(内存,状态)(3)冷热数据储备(算是1和2的结合使用)(4)维表变更日志关联(广播也好,其他方式的流关联也好)(5)Temporal Table Join(6)Lookup Table Join原创 2022-01-12 10:00:17 · 1953 阅读 · 0 评论 -
深入理解与应用 FlinkCDC2.0:实时数据同步原理与实践
CDC是Change Data Capture(变更数据获取)的简称。核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入、更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。原创 2022-01-11 19:13:18 · 1311 阅读 · 0 评论 -
手把手教你如何发挥想象力,用代码定制属于自己的Flink时间窗口
手把手教你如何发挥想象力,用代码定制属于自己的Flink时间窗口这篇博客将详细介绍如何利用Flink的窗口函数API去自定义时间窗口的触发条件、允许数据迟到的程度等,实现真正属于自己的特殊业务需要的时间窗口。原创 2021-08-19 13:32:00 · 656 阅读 · 0 评论 -
Flink技术灵活使用总结(四)常见案例代码
网站总浏览量(PV)的统计网站独立访客数(UV)的统计页面广告点击量统计订单实时对账原创 2020-12-23 23:29:27 · 1452 阅读 · 0 评论 -
基于Flink流处理的电商实时分析系统代码案例
电商实时打标签,新客比例分析,用户消费频道分类原创 2020-11-02 08:03:42 · 902 阅读 · 0 评论 -
Flink核心知识一网打尽:从入门到进阶
本文主要介绍了Apache Flink的各种关键概念和特性。包括集群角色功能、TaskManager的内存管理、资源管理机制、时间语义和Wartermark概念、保证数据一致性、重启策略,还有其底层API,CheckPoint机制,状态后端概念及具体细节。了解称重点之后,关于如何处理Flink窗口的数据倾斜问题,摊解Flink聚合函数中的数据热点问题提供了一些解决策略。最后,审视了Flink的内存管理和反压处理,介绍了算子链和CEP的章节进行了补充。这篇文章适合在Apache Flink领域并希望进一步提高原创 2020-10-23 17:08:41 · 1286 阅读 · 0 评论 -
Flink技术灵活使用总结(三)数据清洗和数据报表实战
数据清洗需求分析针对算法产生的日志数据进行清洗拆分1:算法产生的日志数据是嵌套json格式,需要拆分打平2:针对算法中的国家字段进行大区转换3:最后把不同类型的日志数据分别进行存储架构图数据清洗架构图数据报表需求分析主要针对直播/短视频平台审核指标的统计1:统计不同大区每1 min内过审(上架)的数据量2:统计不同大区每1 min内未过审(下架)的数据量3:统计不同大区每1 min内加黑名单的数据量架构图数据报表架构图存入es主要...原创 2021-08-15 17:52:00 · 2176 阅读 · 2 评论