摘要: 一、架构解析 https://www.doubao.com/chat/collection/35701657376356098?type=Thread 协调器:可启用主从模式,以提供高可用性。 代理:每个集群一个或多个 流节点:每个集群一个或多个 查询节点:每个群集一个或多个 数据节点:每个群集一个 阅读全文
posted @ 2026-01-13 15:44 秋水依然 阅读(0) 评论(0) 推荐(0)
摘要: 地址: https://www.doubao.com/chat/collection/35409788456678402?type=Thread 主要用在shuffle和状态保存两种场景 阅读全文
posted @ 2026-01-09 17:34 秋水依然 阅读(2) 评论(0) 推荐(0)
摘要: 一、背景和过程 Shuffle是把分散在不同节点的「相同 Key 数据」聚到一起,核心规则是「相同 Key 去同一个地方」,这个过程中就会涉及到几个问题, 本地分类(Map 端) 每个教室先把手里的试卷,按「班级」分成几摞(比如一班一摞、二班一摞),写在小纸条上标记(避免搞混) 先在本地整理,减少后 阅读全文
posted @ 2026-01-09 11:59 秋水依然 阅读(3) 评论(0) 推荐(0)
摘要: 一、概念 内存溢出,本质就是「某一端(Executor/Driver)要处理的数据量 / 内存占用,超过了它被分配的内存上限,Spark 4.x 中 95% 的 OOM 发生在「Executor 端」,5% 发生在「Driver 端」; 二、现像介绍 2.1 Executor端: 发生问题基本是在s 阅读全文
posted @ 2026-01-06 22:24 秋水依然 阅读(7) 评论(0) 推荐(0)
摘要: Spark SQL 的所有关联操作,都是基于「临时视图 / 永久视图」执行,你从 Kafka/Doris 读取的 DataFrame,只需执行一行代码注册为临时视图 所有 SQL 执行后返回 DataFrame:df_result = spark.sql("""完整SQL语句"""), 坑4:关联键 阅读全文
posted @ 2026-01-05 14:47 秋水依然 阅读(4) 评论(0) 推荐(0)
摘要: 一、滚动窗口 (Tumbling Window) 窗口的时长 = 滑动步长,窗口之间无任何重叠、无间隙,数据只会落入「唯一一个窗口」中 ✔ 核心特征 窗口边界固定:如 00:00-00:10、00:10-00:20、00:20-00:30,严格切分,无重叠; 数据唯一归属:一条数据只能落入一个窗口, 阅读全文
posted @ 2026-01-02 22:48 秋水依然 阅读(11) 评论(0) 推荐(0)
摘要: 一、异步读取器 1.1 背景 在4.x以前只能先读取完数据再计算,在拉取数据源的时候,CPU会持续等待造成资源浪费, 1.2 目标 不让 CPU 等数据、不让内存爆掉,在4.x版本采用多条并行的线程,边拉取边计算不会造成资源浪费, 1.3 解决方案 核心必配配置,可以在spark-defaults. 阅读全文
posted @ 2026-01-01 09:59 秋水依然 阅读(8) 评论(0) 推荐(0)
摘要: spark运行原理 https://www.doubao.com/chat/collection/33330258018047234?type=Thread shuffle调优 https://www.doubao.com/chat/collection/33345337743102466?type 阅读全文
posted @ 2026-01-01 09:58 秋水依然 阅读(4) 评论(0) 推荐(0)
摘要: 一、状态 Spark 的状态 = 计算过程中需要持久化的中间结果 / 历史数据 状态分为三类: ① 轻量级状态: 分区级聚合,状态与分区强绑定,仅存储在当前分区内,Spark 全自动托管, 无需设置 Checkpoint、TTL,无需手动管理存储,默认内存优先存储,当单个分区的状态数据过大时,Spa 阅读全文
posted @ 2025-12-24 20:18 秋水依然 阅读(6) 评论(0) 推荐(0)
摘要: 数据倾斜是在做计算的时候数据分配不均匀导致,数据分配不均有可能发生在: 1.join列 问题根源: SELECT COUNT(*) FROM orders o JOIN customer c ON o.customer_number = c.customer_number; 比如某个customer 阅读全文
posted @ 2025-12-08 15:59 秋水依然 阅读(7) 评论(0) 推荐(0)