特征工程最大的工程难题是离线在线一致性。离线用 Hive/Spark 批量计算,线上用实时服务查询,两套链路若口径不同,模型效果就会打折,而且问题极难定位。
特征存储(Feature Store)的思路是统一特征的注册、计算和读取。同一份特征定义同时供离线训练和线上推理使用,从源头保证口径一致,减少重复开发。
时间旅行是特征存储的关键能力:训练样本需要特征在标签时刻的值,而非当前值。通过按时间分区存储特征快照,可以精确回放历史状态,避免特征穿越。
线上服务要保证低延迟和高可用,常用 Redis、本地缓存加降级策略。特征缺失时应有默认值兜底,不能让一个特征服务挂掉导致整个推荐链路不可用。
落地时不必一步到位,可先统一核心特征的口径和回填流程,再逐步扩展到全量特征,重点是建立一致性的校验机制和责任人制度。