实时特征工程概述

好,咱们正式进入实时特征工程这个领域。说实话,这个章节是整个课程的地基。你想想看,如果连“实时特征”到底是什么、跟离线特征差在哪、用在哪儿都搞不清楚,后面谈治理、谈保障,那都是空中楼阁。

我个人习惯,在讲任何技术概念之前,先把它最朴素的定义说清楚。别一上来就堆术语,那没意思。

什么是实时特征

实时特征,说白了就是从数据产生到特征可用,延迟在秒级甚至毫秒级的特征。它不像离线特征那样等一天、等一小时,而是数据一进来,特征马上就出来。

举个例子。你在电商App上点了一个商品,系统立刻就知道“这个用户刚刚点击了某类商品”,然后下一秒推荐流就变了。这个“刚刚点击”就是一个实时特征。

核心定义:实时特征 = 数据产生时间 + 特征计算时间 + 特征生效时间 ≤ 秒级/毫秒级

嗯,这里要注意。实时不是的“零延迟”,而是业务可接受的延迟。我在项目中遇到过,有的业务说“实时”就是100毫秒以内,有的说5秒也行。所以,实时是一个相对概念,取决于你的业务场景。

实时特征与离线特征的区别

很多刚接触实时计算的同学,容易把实时特征和离线特征混为一谈。其实它们从根上就不一样。我整理了一个对比表,你看完就清楚了。

对比维度 离线特征 实时特征
计算延迟 小时级 / 天级 秒级 / 毫秒级
数据源 Hive / HDFS / 离线数仓 Kafka / Pulsar / 实时流
计算引擎 Spark / Hive / MapReduce Flink / Spark Streaming / Kafka Streams
数据量级 全量历史数据(TB ~ PB) 窗口内数据(MB ~ GB)
特征时效 反映历史趋势 反映当前状态
存储介质 HDFS / 对象存储 Redis / HBase / 内存状态
容错方式 重跑任务 状态恢复 + 数据回放
典型场景 用户画像、报表分析 实时推荐、风控拦截

你看这个表,最核心的区别其实就两点:延迟和数据范围。离线特征看的是“过去”,实时特征看的是“现在”。

我曾经踩过一个坑。有个项目,团队把离线特征的计算逻辑直接搬到实时流上,结果发现窗口开得太大了,状态撑爆了内存。为什么?因为离线特征可以扫全量数据,实时特征只能处理一个时间窗口内的数据。这个思维不转过来,后面全是坑。

避坑指南:千万不要把离线特征的计算逻辑直接照搬到实时流上。我曾经见过一个团队,把离线计算用户30天点击量的SQL直接搬到Flink上,结果状态后端直接OOM。实时特征的计算逻辑必须针对流式场景重新设计。

实时特征的应用场景

聊完了区别,咱们看看实时特征到底用在哪。说实话,现在互联网业务,没有实时特征几乎寸步难行。我挑几个典型的场景说说。

1. 实时风控

这是实时特征最刚需的场景。用户一登录、一支付,系统必须在几百毫秒内判断“这笔交易是不是盗刷”。判断的依据是什么?就是实时特征:当前IP是否异常、过去5分钟登录失败次数、当前设备是否在黑名单里。这些特征,晚一秒都可能造成损失。

2. 实时推荐

你刷短视频,刷到一个美女跳舞的视频,点赞了。下一秒推荐流里就多了几条类似的。这就是实时特征在起作用——用户刚刚点赞了某类内容。离线特征只能告诉你“这个用户昨天喜欢看什么”,实时特征告诉你“这个用户现在喜欢看什么”。

3. 实时监控与告警

服务器CPU飙到90%了,你总不能等第二天看报表才知道吧?实时特征在这里就是滑动窗口内的平均值、环比增长率,一旦超过阈值立刻告警。我在项目中做过一个监控系统,用Flink计算每分钟的接口调用量,延迟控制在1秒以内,比传统轮询方案快了一个数量级。

4. 实时营销

用户把商品加到购物车,但5分钟没付款。这时候推送一张优惠券,转化率能提升不少。这个“5分钟未付款”就是一个实时特征。离线特征做不到这么精细的时机判断。

个人经验:实时特征的应用场景有一个共同点——决策窗口极短。如果业务允许你等5分钟再决策,那就不需要实时特征,用准实时(分钟级)就够了。别为了“实时”而实时,成本会翻好几倍。

实时特征的核心知识体系

为了让你对本章内容有个整体认知,我画了一张图。这张图把实时特征的定义、与离线特征的对比、应用场景串在了一起。你多看几遍,后面章节都会围绕这张图展开。

实时特征工程核心知识体系 实时特征 定义 数据产生 → 特征可用 延迟 ≤ 秒级/毫秒级 与离线特征的区别 延迟 · 数据源 · 计算引擎 数据量级 · 存储介质 应用场景 实时风控 · 实时推荐 实时监控 · 实时营销 相对延迟 窗口计算 状态管理 容错机制 数据一致性 毫秒级延迟 高吞吐 核心要点 实时特征的核心是“低延迟 + 窗口计算 + 状态管理” 与离线特征的本质区别在于“数据范围”和“时效性要求”

这张图你看懂了吗?中心是实时特征,三个分支分别对应定义、区别和场景。每个分支下面还有更细的子主题。后面几章,我们会逐一深入这些子主题。嗯,先把这张图印在脑子里,后面的路就好走了。

本章小结:实时特征就是低延迟的特征计算,与离线特征在延迟、数据源、计算引擎、存储介质等方面有本质区别。它的核心应用场景包括实时风控、实时推荐、实时监控和实时营销。理解这些基础概念,是后续学习数据契约治理的前提。