1. 实时特征工程概述
大家好,我是你们这门课的老朋友。今天咱们聊聊实时特征工程——这个在推荐系统和风控场景里越来越绕不开的话题。
说实话,我最早接触这个领域是在2018年。当时帮一家金融科技公司做实时风控,每天要处理上亿条交易事件。批处理跑完,黄花菜都凉了。嗯,从那以后我就开始认真琢磨实时特征这件事。
什么是实时特征工程?
说白了,实时特征工程就是从源源不断的数据流里,在毫秒到秒级延迟内提取出对模型有用的特征。
举个例子:用户在电商App上点击了一个商品,系统需要在100毫秒内计算出这个用户过去5分钟点击了多少同类商品、最近10秒浏览了哪些品类、当前会话的跳出概率……这些就是实时特征。
核心定义:实时特征工程 = 流式数据处理 + 特征计算 + 低延迟交付
与传统批处理特征工程的区别
我经常被问到:批处理也能算特征,为什么非要实时?
咱们直接看对比:
| 维度 | 批处理特征工程 | 实时特征工程 |
|---|---|---|
| 数据源 | HDFS、离线数仓(T+1) | Kafka、Pulsar、日志流 |
| 计算延迟 | 分钟~小时级 | 毫秒~秒级 |
| 窗口类型 | 固定窗口(如过去1天) | 滑动窗口、会话窗口、计数窗口 |
| 状态管理 | 无状态,每次全量扫描 | 有状态,维护增量聚合 |
| 存储介质 | Hive、Parquet | Redis、HBase、在线特征存储 |
| 典型场景 | 用户画像、离线模型训练 | 实时推荐、在线风控 |
你看,批处理适合做“回顾分析”,而实时特征解决的是“当下判断”。
我的经验:千万别想着用批处理替代实时特征。我在一个项目中试过把批处理周期压缩到5分钟,结果用户点击后要等5分钟才能看到推荐更新……用户体验直接崩了。
实时特征工程的核心价值
为什么这两年实时特征工程这么火?我挑两个最典型的场景说说。
推荐系统场景
你想想看,用户打开抖音,刷了3条宠物视频,第4条就开始推猫粮广告——这就是实时特征在起作用。
- 短期兴趣捕捉:过去5分钟的点击序列、当前会话的停留时长
- 实时反馈信号:点赞、评论、分享行为,秒级更新用户偏好
- 上下文特征:当前时间、地理位置、设备状态
我记得有一次帮一个短视频平台优化推荐,发现加入“最近10秒观看完成率”这个实时特征后,CTR提升了12%。这就是实时特征的魔力。
风控场景
风控对实时性的要求更苛刻。一笔交易从发生到判定欺诈,通常要求在200毫秒以内完成。
- 行为序列特征:过去1分钟内的登录次数、IP变更频率
- 设备指纹特征:实时计算设备关联图谱
- 交易模式特征:当前交易金额与历史均值的偏离度
避坑指南:我曾经在一个风控项目里,把实时特征窗口设成了30分钟。结果发现大量欺诈交易在15分钟内就完成了资金转移。后来我把窗口缩短到5分钟,召回率提升了30%。记住:窗口大小不是越长越好,要跟业务节奏匹配。
实时特征工程的知识体系
下面这张图是我自己梳理的实时特征工程核心知识框架,也是咱们这门课的主线:
这张图涵盖了实时特征工程的五个核心层次。咱们这门课会按照这个体系,一层一层往下拆解。
实时特征工程在 Lakehouse 中的定位
说到 Lakehouse,很多人第一反应是“批流一体”。没错,但实时特征工程在 Lakehouse 里扮演的角色更特殊——它是连接实时计算和离线分析的桥梁。
我个人习惯把 Lakehouse 里的实时特征工程分成两条线:
- 在线链路:毫秒级特征计算 → 写入在线特征存储 → 服务模型推理
- 离线链路:实时特征落盘 → 写入 Lakehouse 表 → 用于模型训练和回溯分析
这两条线缺一不可。在线链路保证响应速度,离线链路保证数据完整性和可回溯性。
我的建议:刚开始做实时特征工程时,别一上来就追求极致延迟。先把离线链路跑通,保证特征数据能完整落到 Lakehouse 里。这样即使在线链路出问题,你还能用离线数据做补偿和回溯。
本章小结
好了,咱们把这一章的核心点捋一捋:
- 实时特征工程是从数据流中低延迟提取特征的技术
- 与批处理相比,核心差异在延迟、窗口、状态管理三个维度
- 在推荐系统中捕捉短期兴趣,在风控中识别实时异常
- Lakehouse 架构下,实时特征工程需要同时支撑在线服务和离线分析