标签: #data-engineering
关于 GPU、LLM、MLOps、Kubernetes 以及心态的文章 · 10 篇
如何解读 2026 年的数据工具地形图 —— 不是工具清单,而是分层决策
2026 年 7 月 28 日,一篇《面向开发者的数据工具地形指南》登上 GeekNews,获得 51 点赞。这是一份不错的地图,但地图不会替你选目的地。本文把同一片地形拆成五个层次,梳理每一层实际要做的决策是什么:表格式之争如何在 Iceberg v3 上事实终结、战场如何转移到目录(catalog)层,DuckDB 级别的单节点引擎如何把原本属于集群的工作拉回本地,Fivetran 与 dbt Labs 的合并对层与层之间的边界意味
2026-07-31 · 24 分钟阅读 #data-engineering#lakehouse#iceberg#duckdb#data-platformAirflow 2 EOL 之后 — 从 2 迁移到 3 的实际工作清单,以及走到 3.3 的 3.x 现状
Apache Airflow 2 已在 2026 年 4 月 22 日迎来 EOL,如今这个版本已经不再有安全补丁。可是从 2 到 3 的路并不是一次 pip 升级,而是一次架构转变 — worker 对元数据 DB 的直接访问消失了,executiondate 系列的上下文键被移除,就连 cron 调度的默认语义也变了。本文原文通读官方升级指南与发行说明,梳理了真正需要动手的工作 — 跑 ruff 的 AIR 规则检查、把导入迁到 a
2026-07-17 · 22 分钟阅读 #data-engineering#airflow#workflow-engine#migrationPySpark 4.2,Python UDF 默认搭上 Arrow — 类型强制转换225格里132格发生变化的故事
2026年7月14日发布的 Apache Spark 4.2.0 通过 SPARK-54555 把 spark.sql.execution.pythonUDF.arrow.enabled 的默认值从 false 反转成了 true。厂商博客把这称为"无需重写代码就能获得更快的列式路径",但整个发布里都没有公开 Arrow 与 pickle 之间的速度对比数字。而真正的故事不是速度,而是类型强制转换。实际 diff 两份检入 Spark
2026-07-16 · 23 分钟阅读 #spark#python#arrow#data-engineeringParquet 2.13.0 的 nan_count 与 IEEE 754 total order — float 统计用 3 年 3 个月才修好的故事
Parquet 的 min/max 统计,是让查询引擎跳过数据的机制。但在浮点数列上,这套机制已经悄悄坏了 10 多年 — NaN 在任何比较中都返回 false,因此会被排除在统计之外,结果就是包含 NaN 的页面,可能在查找大于 max 的值的查询中被整页跳过。这不是性能问题,而是结果错误的问题。2026 年 6 月 13 日发布的 parquet-format 2.13.0,通过引入 nancount 字段和一个叫 IEEE754
2026-07-16 · 25 分钟阅读 #data-engineering#parquet#columnar-storage#apache-arrowIceberg v3 行血统 — 行 ID 不存放在文件里
Apache Iceberg 格式 v3 把「为每一行赋予稳定标识符」的行血统(row lineage)写进了规范,而且这不是可选项 — 只要是 v3 表就无条件开启。但这个值并不存放在数据文件里 — 而是通过一条从表的 next-row-id,经快照、清单(manifest),一路继承到数据文件的链条,在读取时才计算出来。这样设计是为了让乐观提交重试时不必重写数据文件,代价是维护血统的责任转移到了每一个 writer 身上。本文沿着规
2026-07-16 · 27 分钟阅读 #iceberg#lakehouse#table-format#data-engineering#sparkDuckDB 有了客户端-服务器协议 — Quack 改变了什么,又没有改变什么
2026 年 5 月 12 日,DuckDB 团队发布了 Quack。这是一套架在 HTTP 之上的客户端-服务器协议,让两个 DuckDB 实例互为客户端和服务器,使同一个数据库可以被多个进程同时读写。一个把「进程内」当作身份标签坚持了 7 年的项目,如今自己给自己装上了服务器 — 相比「改变了什么」,「没有改变什么」反而更重要。本文梳理了 Quack 的设计取舍(为什么是 HTTP、为什么不是 Arrow Flight SQL)、D
2026-07-16 · 26 分钟阅读 #database#duckdb#olap#analytics#data-engineering从文档到知识图谱 — 一条诚实的构建流水线
「从文档里抽出知识图谱」在演示里看起来就是一次 LLM 调用。但把客户的文档真正变成一张可查询的图,是一条六段式的流水线,而成本与痛苦的大部分不在抽取,而在实体解析。本文诚实地梳理:为什么要先定好模式(本体)、基于 LLM 的模式约束抽取(LangChain 的 LLMGraphTransformer、LlamaIndex 的 Simple/Schema/Dynamic 抽取器、Microsoft GraphRAG 的索引流水线)与传统
2026-07-15 · 15 分钟阅读 #knowledge-graph#ai#llm#data-engineeringLLM 训练数据预处理完全指南 — 从网页抓取到 Token 打包,附最新论文
好模型来自好数据,好数据来自预处理流水线。本文逐步讲解预训练数据要经过的全部工序 — 网页抓取采集 → 正文抽取 → 语言识别 → 启发式规则与分类器结合的质量过滤 → 精确去重与近似(MinHash)去重 → PII·毒性处理 → 基准测试污染清除 → 分词与序列打包,并介绍 SFT 数据整理的要点、datatrove、Dolma、NeMo Curator 等工具,以及从 The Pile 到 FineWeb、DCLM 这些改变了这一
2026-07-09 · 12 分钟阅读 #ai#llm#data-engineering#preprocessing#training数据工程与 AI 流水线完全指南:从 Spark 到 Kafka
面向 AI 的数据工程完全指南。涵盖 Apache Spark、Kafka、Airflow、dbt、Delta Lake 直至特征存储的大规模数据流水线设计与实现。
2026-03-17 · 17 分钟阅读 #data-engineering#apache-spark#kafka#airflow#dbtMLOps Feature Store 实战 — 用 Feast 构建特征流水线
用 Feast 构建离线/在线特征存储,打造在训练和在线服务(serving)中提供一致特征的实战流水线
2026-03-02 · 12 分钟阅读 #mlops#feast#feature-store#machine-learning#data-engineering