数据体系(Data Platform)
目标:让数据从“可采集”→“可信”→“可复用”→“可决策”
P0(数据基础)
├── 数据采集 / 埋点体系
├── 数据中台(数据湖 / 数据仓库)
├── ETL / ELT 平台(Airflow)
P1(数据可信)
├── 元数据平台(Data Catalog)
├── 指标平台
├── 数据质量平台(DQ)
P2(数据服务)
├── 数据 API 平台
├── 报表平台(BI)
├── 数据可视化平台
P3(数据资产化)
├── 数据资产管理
├── 数据权限与安全治理
├── 特征平台(Feature Store)
中间件体系的本质不是“技术选型”,而是“运行能力抽象”:
特征平台(Feature Store)
下面我从工程可落地 + 数据体系整体视角,系统、深入地 详细展开「特征平台(Feature Store)」。 这块你如果以前主要在 Java / 业务系统侧,很容易觉得“像个 ML 的玩意”,但其实一旦做推荐、风控、智能决策,它就是数据体系的核心基础设施之一。
一、先一句话把 Feature Store 说清楚
特征平台(Feature Store)= 把“用于模型和策略的特征”,做成“统一生产、统一口径、可复用、可治理的数据资产平台”。
解决的不是“算特征”,而是:
- 特征 有没有重复算
- 线上 / 线下 是否一致
- 特征 能不能被复用
- 特征 是否可追溯、可回滚
二、为什么不能“谁用谁算特征”
没有 Feature Store 的典型现象:
- 每个模型一套特征 SQL
- 线上、离线特征逻辑不一致(灾难)
- 特征口径靠人记
- 模型一上线就性能崩
Feature Store 的核心价值是:
把“特征”从“模型私有逻辑”中抽出来,升级为“企业级数据资产”。
三、特征平台在整体数据体系中的位置
数据源
→ 数据湖 / 数仓
→ ETL / 实时计算
→ 📌 特征平台(Feature Store)
├─ 特征定义
├─ 特征计算
├─ 特征存储
├─ 特征服务
→
├─ 离线训练(模型训练)
└─ 在线推理(实时决策)
Feature Store 是 数据 → 智能 的桥梁。
四、Feature Store 的核心对象
1. Entity(实体)
特征的“挂载点”。
- 用户(user_id)
- 商品(item_id)
- 商户(merchant_id)
- 设备(device_id)
特征必须绑定实体,否则无法服务。
2. Feature(特征)
一个可复用的特征定义。
示例:
- 用户近 7 天下单次数
- 商品近 1 小时点击率
- 设备风险评分
本质是:
Feature = Entity + 时间窗口 + 聚合逻辑
3. Feature View(特征视图)
- 一组特征的集合
- 面向某类模型或策略
五、核心能力模块拆解
1. 特征定义与管理(最关键)
特征定义内容
- 特征名称
- 绑定实体
- 计算逻辑(SQL / DSL)
- 窗口(1h / 7d / 30d)
- 刷新方式(实时 / 批)
- Owner
特征必须 版本化、可审计。
2. 特征计算引擎
离线计算
- Spark / Flink Batch
- 定期生成特征快照
实时计算
- Flink / Kafka Streams
- 低延迟滚动窗口
3. 特征存储(Offline / Online 双存储)
离线特征存储
- Hive / Iceberg / Hudi
- 用于训练
在线特征存储
- Redis / HBase / Cassandra
- 用于实时推理
一份特征定义,双存储输出,这是 Feature Store 的灵魂。
4. 线上 / 线下一致性保障(极其重要)
一致性原则
- 同一份特征定义
- 同一份计算逻辑
- 同一份时间窗口
避免:
- 线上重新写一套代码
- 训练用 SQL,线上用 Java 算
5. 特征服务(Feature Serving)
访问方式
- Key-Value 查询
- 批量查询
- 实时 API
性能要求
- 毫秒级
- 高并发
- 稳定性优先
6. 特征质量与监控
特征质量维度
- 缺失率
- 分布漂移
- 延迟
- 异常值
特征质量异常 = 模型事故前兆。
7. 权限与治理
- 特征访问权限
- 敏感特征脱敏
- 使用审计
六、典型技术架构(偏工程)
特征定义层
├─ 特征 DSL / SQL
├─ 元数据管理
├─ 版本管理
↓
计算层
├─ Batch(Spark / Flink)
├─ Stream(Flink)
↓
存储层
├─ Offline Store(Iceberg / Hive)
├─ Online Store(Redis / HBase)
↓
服务层
├─ Feature API
├─ SDK(Java / Python)
七、与指标平台的本质区别
| 维度 | 指标平台 | Feature Store |
|---|---|---|
| 面向对象 | 人 | 模型 / 策略 |
| 粒度 | 汇总 | 个体 |
| 实时性 | 中 | 高 |
| 输出 | 数字 | 向量 |
| 稳定性 | 强 | 快速迭代 |
一句话总结:
指标是给人看的,特征是给机器用的。
八、常见开源 Feature Store
| 产品 | 特点 |
|---|---|
| Feast | 最流行,云原生 |
| Hopsworks | 功能全面 |
| Tecton | 商业,成熟 |
| 自研 | 大厂常见 |
九、最常见的失败原因
- 特征不统一
- 线上线下两套逻辑
- 没有特征质量监控
- 把特征当临时数据
- 权限与治理缺失
十、落地建议(非常实用)
如果你刚起步
- 先做离线 Feature Store
- 选 Feast
- 先覆盖核心实体
