🐳 Docker从入门到放弃
一、Docker 是什么?——一句话就能说清,但我偏要说一万字1.1 从"在我电脑上能跑"说起每个程序员的职业生涯中,都至少说过一次这句话:"在我电脑上是好的啊?!"这句话的杀伤力,堪比产品经理的"这个需求很简单"。Docker 的出现,就…
一、Docker 是什么?——一句话就能说清,但我偏要说一万字1.1 从"在我电脑上能跑"说起每个程序员的职业生涯中,都至少说过一次这句话:"在我电脑上是好的啊?!"这句话的杀伤力,堪比产品经理的"这个需求很简单"。Docker 的出现,就…
前言:一个把自己当程序 Profile 的人如果有人告诉你,有个人连续 56 年,每天记录自己的时间花费,精确到 5 分钟,你会怎么想?强迫症?时间管理狂魔?人形计时器?这个人叫亚历山大·柳比歇夫(Любищев),苏联昆虫学家、数学家、哲…
前言:为什么程序员也该读这本书作为技术人,我们习惯于用代码解决问题,用框架提升效率,用工具自动化流程。但有些问题,比如"为什么我总是很忙却没有成就感"、"为什么团队协作总是充满摩擦"、"为什么升职加薪轮不到我"——这些问题,Stack Ov…
一、前言:生产环境的噩梦1.1 你可能遇到过这些问题1.2 本文内容二、资源配置调优2.1 内存模型2.2 内存配置2.3 内存配置建议2.4 并行度设置并行度配置建议:场景建议Kafka Source= Kafka 分区数普通算子= 全局…
一、前言:为什么需要 CDC?1.1 传统数据同步的痛点1.2 CDC 的价值1.3 什么是 CDC?CDC = Change Data Capture(变更数据捕获)二、CDC 技术方案对比2.1 CDC 实现方式2.2 CDC 工具对比…
一、前言:为什么用 SQL?1.1 DataStream vs SQL同样的功能对比:1.2 Flink SQL 能力二、快速上手2.1 启动 SQL Client2.2 第一个查询2.3 Table API 入门三、动态表与连续查询3.1…
一、前言:为什么需要 State?1.1 无状态 vs 有状态1.2 哪些场景需要 State?1.3 Flink State 的核心价值二、State 类型详解2.1 State 分类2.2 Keyed State 详解Keyed Sta…
一、前言:时间的困惑1.1 一个让人崩溃的问题这个问题会导致:1.2 本文要解决的问题什么是事件时间、处理时间?Watermark 到底是什么?数据迟到怎么办?各种窗口怎么选?二、三种时间语义2.1 时间语义图解2.2 三种时间详解时间类型…
一、前言:为什么是 Flink?1.1 流处理框架演进1.2 为什么选择 Flink?1.3 Flink vs Spark Streaming维度Spark StreamingFlink处理模型微批 (Micro-batch)真正流处理延迟…
一、前言:OOM 的噩梦本文将覆盖的 OOM 场景:组件常见 OOM 原因SparkShuffle、广播变量、数据倾斜Flink状态过大、背压、序列化Hive/PrestoMap/Reduce 内存、查询复杂度JVM堆内存、元空间、直接内存…
一、前言:三足鼎立的数据湖江湖选型困境:二、背景与定位2.1 发展历程2.2 背景与设计目标项目公司设计目标核心场景HudiUber解决增量更新问题CDC、实时数仓IcebergNetflix解决 PB 级表管理大规模分析Delta Lak…
前言:支付人的中东奇遇在国内做支付,你可能习惯了微信支付宝的"秒到账",习惯了银联的"闭眼刷",习惯了用户投诉"钱怎么还没到"时甩出一句"T+1,亲"。然后你来到阿联酋,发现这里的支付生态完全是另一个次元:没有支付宝,没有微信支付信用卡是王…
一、前言:为什么需要 Iceberg?1.1 Hive 的历史包袱1.2 Netflix 的挑战1.3 Iceberg 发展历程二、Iceberg 核心设计2.1 表格式 vs 存储格式表格式的职责:职责说明元数据管理追踪哪些文件属于这张表…
一、前言:数据湖的困境1.1 传统数据湖的痛点1.2 Hudi 的诞生Hudi = Hadoop Upserts Deletes and IncrementalsUber 的工程师发现:打车订单需要频繁更新状态(下单→接单→进行中→完成),…
一、前言:数据架构的演进之路你可能遇到过这些场景:本文将回答的核心问题:如何设计一个既能支持离线分析,又能支持实时查询的数据架构?二、传统批处理架构的困境2.1 经典批处理架构2.2 批处理的痛点三、Lambda 架构:双轨并行3.1 La…