3. 数据源与特征存储:特征仓库(Feature Store)架构、离线存储(Hive/Parquet)、在线存储(Redis/HBase)、特征血缘追踪
在金融风控场景中,特征数据是模型决策的“燃料”。特征仓库(Feature Store)作为统一管理特征定义、存储、服务与血缘的中间层,解决了离线训练与在线推理之间特征不一致的核心痛点。本章深入剖析 Feature Store 的架构分层、离线/在线存储选型以及特征血缘追踪的实现机制。
3.1 特征仓库(Feature Store)核心架构
Feature Store 通常分为三个逻辑层:存储层、服务层与元数据管理层。其核心目标是实现“一次定义,多处复用”,并保证离线批量特征与在线实时特征的计算逻辑与取值一致。
架构要点: 特征仓库通过双存储引擎(离线 + 在线)和统一的 SDK/API 接口,屏蔽底层存储差异,为数据科学家与工程团队提供一致的特征访问体验。
3.2 离线存储:Hive / Parquet
离线存储主要用于历史特征批量计算、训练样本生成与回溯分析。金融风控场景下,离线特征通常以天级或小时级粒度更新,数据量可达 PB 级。
| 存储组件 | 核心特性 | 金融风控适用场景 |
|---|---|---|
| Hive | SQL-on-Hadoop,支持大规模批处理,Schema-on-Read | 历史特征宽表生成、用户画像聚合、贷后监控报表 |
| Parquet | 列式存储,高压缩比,谓词下推,适合 OLAP 查询 | 特征存储格式标准,训练数据导出,特征回溯(Time Travel) |
| HDFS | 底层分布式文件系统,高吞吐,低成本 | 原始日志存储、中间结果暂存、冷数据归档 |
最佳实践: 离线特征表建议按 日期分区(如 dt=2025-04-01),并采用 Parquet 格式 + Snappy 压缩,可节省 60%-70% 存储空间,同时提升查询性能 3-5 倍。
3.3 在线存储:Redis / HBase
在线存储服务于实时推理场景,要求毫秒级响应、高并发与高可用。金融风控的实时特征(如设备指纹、实时交易频次)通常通过在线存储提供。
| 存储组件 | 数据结构 | 读写性能 | 典型风控场景 |
|---|---|---|---|
| Redis | Key-Value,支持 Hash/List/Sorted Set | 读:<1ms;写:<1ms(纯内存) | 用户实时画像、黑名单缓存、频次计数器(滑动窗口) |
| HBase | 宽表存储,RowKey 有序,支持稀疏列 | 读:2-10ms;写:1-5ms(LSM-Tree) | 用户行为序列、设备关联图谱、历史特征快照 |
一致性风险提示: 在线存储与离线存储之间可能存在数据延迟(如 T+1 更新)。必须通过特征仓库的 离线-在线一致性校验 机制(如定时对账、特征值比对)来发现并修复偏差,否则会导致模型在线效果显著下降。
3.4 特征血缘追踪
特征血缘(Feature Lineage)记录了特征从原始数据源 → 特征计算逻辑 → 特征存储 → 模型使用的完整链路。在金融风控中,血缘追踪是满足监管合规(如模型可解释性)、问题排查与影响分析的关键能力。
3.5 血缘追踪实现方式
- 代码解析层: 通过 AST(抽象语法树)解析 SQL/Spark 代码,自动提取特征计算逻辑的输入表、输出表与字段映射关系。
- 元数据存储: 将血缘关系写入图数据库(如 Neo4j)或关系型数据库(如 MySQL),支持上游/下游依赖查询。
- 可视化与告警: 提供血缘 DAG 图展示,当特征源表 Schema 变更或计算逻辑修改时,自动触发影响分析告警。
金融风控血缘追踪示例: 某特征“近30天逾期次数”的血缘链路为:
当 loan_payment_log 表新增字段或分区策略变更时,血缘系统自动通知模型团队进行特征一致性校验。
loan_payment_log(原始表)→ Spark SQL 聚合计算 → feature_30d_overdue_count(特征表)→ 贷前模型 A_v2.1(模型使用)当 loan_payment_log 表新增字段或分区策略变更时,血缘系统自动通知模型团队进行特征一致性校验。
3.6 离线-在线一致性校验要点
| 校验维度 | 离线(Hive/Parquet) | 在线(Redis/HBase) | 校验方法 |
|---|---|---|---|
| 特征值一致性 | 批量计算全量特征 | 实时计算或预加载特征 | 抽样比对(如每天随机 10 万用户,对比特征值差异) |
| 特征时效性 | T+1 更新 | 秒级/毫秒级更新 | 监控在线特征更新时间戳,确保不超过离线版本 24h |
| 特征分布一致性 | 全量分布统计 | 在线采样分布 | PSI(群体稳定性指标)监控,阈值通常 < 0.1 |
| Schema 一致性 | Hive 表 Schema | Redis Key 结构 / HBase Column Family | 元数据对比工具,自动检测字段增减与类型变更 |
通过特征仓库的统一元数据管理与离线-在线一致性校验机制,金融风控团队能够有效降低特征不一致导致的模型风险,提升模型从开发到上线的效率与可靠性。