数据体系(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 商业,成熟
自研 大厂常见

九、最常见的失败原因

  1. 特征不统一
  2. 线上线下两套逻辑
  3. 没有特征质量监控
  4. 把特征当临时数据
  5. 权限与治理缺失

十、落地建议(非常实用)

如果你刚起步

  • 先做离线 Feature Store
  • 选 Feast
  • 先覆盖核心实体

如果你是 Java 技术栈