1. 课程导论:实时特征计算的定义、应用场景与Flink+因子库价值

1.1 什么是实时特征计算?

实时特征计算是指在数据产生的毫秒/秒级延迟内,从原始事件流中提取、变换、聚合出可用于模型推理或规则判断的结构化数值或向量。它区别于离线批量特征工程,核心差异在于:

维度 离线特征计算 实时特征计算
延迟 小时级 ~ 天级 毫秒级 ~ 秒级
数据源 Hive / 离线数仓 Kafka / Pulsar 事件流
计算引擎 Spark / Hive SQL Flink / Kafka Streams
状态管理 无状态或批式状态 有状态、精确一次语义
特征时效性 T+1 或 T+N 事件发生即计算
核心定义:实时特征 = 事件流 + 时间窗口 + 状态聚合 + 在线服务化。它让机器学习模型能感知"此刻"的用户行为与系统状态。

1.2 典型应用场景

实时特征计算已深入多个高时效性业务领域,以下三个场景最具代表性:

场景一:实时风控

  • 需求:在支付、登录、交易等环节,百毫秒内判断当前操作是否为欺诈。
  • 实时特征举例:过去5分钟同一设备关联的账户数、过去1小时IP地址变更次数、当前交易金额偏离用户历史均值倍数。
  • 技术挑战:高吞吐(万级QPS)、低延迟(<200ms)、精确一次状态回溯。

场景二:实时推荐

  • 需求:根据用户最近几次点击/浏览,实时调整推荐列表排序权重。
  • 实时特征举例:当前会话累计点击品类分布、最近30秒商品页停留时长、实时热门商品TopN。
  • 技术挑战:特征维度高(千级)、窗口滑动频繁、特征新鲜度直接影响CTR。

场景三:量化交易

  • 需求:基于行情Tick数据,计算技术指标与微观结构因子,驱动策略信号。
  • 实时特征举例:过去100笔交易的成交量加权价格(VWAP)、买卖价差、订单簿不平衡度。
  • 技术挑战:微秒级延迟要求、事件乱序严重、状态快照与恢复一致性。
场景共性:三个场景都依赖"滑动窗口聚合 + 多流关联 + 特征回填"三大实时计算范式,这正是Flink的强项。

1.3 Flink与因子库结合的价值

因子库是特征逻辑的集中管理平台,它将特征定义、计算逻辑、版本、血缘、元数据统一抽象为"因子"。Flink作为实时计算引擎,与因子库结合后产生以下核心价值:

  1. 逻辑与引擎解耦:因子库定义"算什么",Flink负责"怎么算"。业务分析师修改因子逻辑无需改动Flink作业代码。
  2. 特征复用与编排:同一因子(如"过去5分钟登录次数")可被风控、推荐、运营多个场景引用,避免重复开发。
  3. 版本管理与回溯:因子库记录每个因子的版本快照,Flink作业可指定使用某版本因子逻辑,支持A/B实验与历史回测。
  4. 自动优化执行计划:因子库提供因子依赖图(DAG),Flink可据此合并窗口、共享状态,减少资源浪费。
  5. 在线特征服务:因子库将实时计算结果推送到KV存储(Redis/HBase),供在线模型毫秒级获取。
Flink与因子库结合架构 Flink + 因子库 实时特征计算架构 Kafka 事件流 Pulsar / 日志 CDC 变更流 Apache Flink 实时计算引擎 窗口聚合 · 多流Join · 状态管理 · 精确一次语义 因子库(Factor Registry) 因子定义 · 版本管理 · 依赖DAG · 元数据 · 特征回填 Redis 特征服务 Kafka 特征结果 HBase 特征存储

1.4 实时特征计算的核心挑战

尽管价值显著,实时特征计算在工程落地中仍面临四大挑战:

挑战 描述 Flink + 因子库应对方案
状态爆炸 高基数Key导致Flink状态后端存储膨胀 因子库自动识别高频Key,启用RocksDB调优与TTL策略
数据乱序 事件时间与处理时间偏差导致窗口计算错误 Flink Watermark机制 + 因子库配置允许延迟时间
特征一致性 实时特征与离线特征分布偏移 因子库统一特征逻辑,Flink与离线作业共用同一因子定义
运维复杂度 数百个Flink作业管理困难 因子库生成作业DAG,自动监控特征产出延迟与质量
注意:实时特征计算不是简单的"把离线SQL改成Flink SQL"。状态管理、时间语义、容灾恢复是必须跨越的三座大山。本课程后续章节将逐一攻克。

1.5 本课程路线图

课程共30章,分为四大模块:

  • 基础篇(第1-8章):Flink实时计算核心概念、时间语义、窗口、状态后端、Checkpoint机制。
  • 因子库篇(第9-16章):因子定义语言、版本管理、依赖解析、元数据存储、特征血缘追踪。
  • 实战篇(第17-25章):风控实时特征、推荐实时特征、量化交易因子、多流关联、特征回填与回溯。
  • 进阶篇(第26-30章):性能调优、状态后端选型、Flink on Kubernetes、监控告警、生产案例复盘。
课程四大模块路线图 《实时特征计算:Flink与因子库结合实践》课程路线图 基础篇 第1-8章 Flink核心概念 因子库篇 第9-16章 因子定义与管理 实战篇 第17-25章 三大场景实战 进阶篇 第26-30章 调优与运维 📌 每章包含:知识讲解 + 代码示例 + 架构图 + 课后练习 建议按顺序学习,实战篇需基础篇与因子库篇前置知识

1.6 本章小结