如何使用 Spark Real-Time Mode 和 Lakebase 构建实时欺诈检测系统
TL;DR · AI 摘要
Databricks发布基于Spark RTM和Lakebase的实时欺诈检测解决方案,可实现亚300ms流处理,比Apache Flink快92%,帮助金融机构在交易结算前阻止欺诈,每年挽回约330亿美元损失。
核心要点
- Databricks推出开源实时欺诈检测参考实现,核心采用Spark RTM实现亚100ms P99延迟处理,结合Lakebase无服务器Postgres数据库
- RTM比Apache Flink在无状态转换、基于连接的丰富化和聚合工作负载上快92%,Coinbase已用其处理250+ ML特征。
- 方案消除传统架构中Spark与Flink双系统并行的复杂性,实现训练与推理代码统一、单一运维界面、灵活平衡成本与数据新鲜度。
结构提纲
按章节快速跳转。
金融机构每年因信用卡欺诈损失约330亿美元,核心挑战是在交易结算前的亚秒级窗口内阻止欺诈,而非检测能力本身。
Databricks发布开源参考实现,基于RTM和Lakebase构建端到端实时欺诈检测系统,包含ML评分和监控仪表盘。
传统方案需在超低延迟与运维简单性间二选一,引入Flink等专用引擎导致双系统、数据重复和治理分裂问题。
RTM是Spark Structured Streaming的演进引擎,延迟达亚毫秒级,在多项工作负载上比Apache Flink快92%。
RTM实现代码零漂移、单一运维界面、成本灵活可控,无需维护第二套流处理引擎和轮值体系。
Lakebase是内置于Databricks平台的无服务器Postgres数据库,提供完全托管的持久化存储能力。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Real-Time Fraud Detection with Spark RTM + Lakebase
- Problem Context
- $33B annual fraud losses
- Sub-second detection window
- Speed vs Simplicity tradeoff
- Solution Architecture
- Spark Real-Time Mode (RTM)
- Lakebase (Serverless Postgres)
- Databricks Apps Dashboard
- RTM Technical Advantages
- Sub-100ms P99 latency
- 92% faster than Apache Flink
- Unified code & operations
金句 / Highlights
值得收藏与分享的关键句。
金融机构每年因信用卡欺诈损失约330亿美元,随着数字交易量增长,这一数字还将上升。
RTM在毫秒级处理事件,在无状态转换、基于连接的丰富化和聚合工作负载上比Apache Flink快92%。
Coinbase等客户已使用RTM计算超过250个ML特征,实现了亚100ms的P99处理延迟。
离线训练管道中运行的相同代码也运行在实时评分环境中,使特征生产的速度和准确性更高。
当亚秒级数据新鲜度不值得成本时,切换回较慢的触发器只需一行代码反向修改。
如何使用 Spark 实时模式和 Lakebase 构建实时欺诈检测
发布时间: 2026-05-19T19:30:00+0000
信用卡欺诈在几秒钟内就能完成。一个被盗的信用卡号码可能在几分钟内促成数十笔交易,而一旦交易结算,追回这些资金的难度就会成倍增加。根据 Nilson Report 的报告,金融机构每年因欺诈性信用卡交易损失约 330 亿美元,随着数字交易量的加速增长,这一数字还将继续上升。
挑战不在于检测欺诈。大多数组织已经拥有 capable 的欺诈模型和经过良好调优的规则。挑战在于足够快速地检测它,以便在可疑交易清算之前阻止它——在授权和结算之间的亚秒级窗口内完成——同时无需引入一个独立的、专门的流处理引擎,从而增加一倍的操作复杂性。
在本文中,我们介绍一个新的解决方案加速器:一个开源的参考实现,您可以直接克隆并部署到您的 Databricks 环境中。它演示了如何构建一个完整的端到端欺诈检测系统,从原始交易摄入和实时 ML 评分到使用 Databricks Apps 构建的实时监控仪表板,完全在 Databricks 平台上运行。其核心是两种技术:用于 Apache Spark 结构化流在 Databricks 上的实时模式 (RTM),可实现亚 300 毫秒的流处理;以及 Lakebase,一个完全托管的、无服务器的 Postgres 数据库,内置于 Databricks 平台。
速度与简单性:欺诈检测的实时权衡
欺诈检测位于两个相互冲突的需求的交汇点。
一方面是速度。欺诈性交易必须在数百毫秒内被识别并阻止。复杂的欺诈团伙会用快速的小额购买测试被盗卡片,利用地理异常,并比静态规则更快地适应他们的模式。
另一方面是简单性。数据团队希望在单一平台上构建、训练和部署欺诈模型,具有统一的治理、共享的数据和一套工具。他们不想只是为了"最后一公里"的实时评分而维护一个独立的流处理栈。
到目前为止,团队被迫做出选择。从历史上看,满足这些超低延迟要求意味着在 Spark 旁边引入一个专门的引擎,比如 Apache Flink。结果是一个熟悉的模式:两个并行系统、数据重复、治理分散,工程团队花费更多时间管理管道而不是改进欺诈模型。随着 Spark 结构化流中 RTM 的引入,这种权衡不再必要。
RTM:无需多系统运营开销的亚秒级处理
RTM 是 Spark 结构化流引擎的演进,可为延迟敏感的操作应用(如特征工程)实现亚秒级数据处理。
在速度方面,RTM 在毫秒内处理事件,在无状态转换、基于连接的丰富化和聚合工作负载上比 Apache Flink 快高达 92%。像 Coinbase 这样的客户已经在使用 RTM 来计算超过 250 个 ML 特征,并实现了亚 100 毫秒的 P99 处理延迟。
在简单性方面,RTM 位于您已经运行的 Spark 引擎内部,而不是在它旁边。因此,您将立即受益于:
- 无逻辑偏差。您的欺诈评分规则、特征工程和 ML 预处理只存在一份代码。在离线训练管道中运行的相同代码在实时评分环境中运行。这使您能够更快、更准确地实现特征的生产化。
- 统一的运营界面。Spark UI、集群监控、作业、警报等。所有您已经在使用的工具都适用。无需为流处理引擎设置第二个值班轮换。
- 成本与新鲜度之间的灵活性。当亚秒级的新鲜度不值得成本时,切换回较慢的触发器只需在另一个方向进行一行代码更改。无需花费时间手动调优并行度或协调计算资源的关闭和重启。
因此,团队不再需要选择;您同时获得了速度和简单性,工程时间回到调整欺诈信号而不是管理基础设施上。
示例场景:阻止信用卡交易中的欺诈
为了使这一点具体化,我们的解决方案加速器为信用卡交易实现了一个实时欺诈检测系统。场景如下:
交易从消息系统(Kafka、Kinesis 等)流入。每笔交易都带有卡 ID、金额、商家类别、地理坐标和渠道(在线 vs 销售点)。系统必须针对多个欺诈信号评估每笔交易,分配风险评分,并将其路由到适当的结果——批准、标记为待审核或阻止——全部在亚 300 毫秒内完成。
该架构模拟了大型金融机构生产欺诈系统的外观,具有状态跟踪、来自 Lakebase 的特征丰富化作为在线服务层、ML 评分,以及用于欺诈分析师监控的实时 Databricks Apps。不同之处在于它完全在一个平台上运行。
如何构建
该加速器经历四个递进阶段,每个阶段都建立在前一个阶段之上。以下是高级系统架构图,展示了四个主要组件之间的清晰数据流:
- Kafka(源): 接收原始事件的事件流平台
- Spark RTM: 处理流数据的实时物化引擎
- Kafka / Lakebase: 处理后的数据着陆的中间层,可以回到 Kafka 或进入 Lakebase(Databricks 的低延迟服务层)
- Databricks Apps: 向最终用户服务最终数据的应用层
查看下面的完整端到端演示视频,或继续阅读分步指南以了解我们的构建方式。从下面的快速开始开始(无需外部依赖),然后逐步增加复杂性。
步骤 1:体验实时模式
对于评估实时欺诈基础设施的金融机构来说,快速实现价值至关重要。快速开始笔记本 让您的团队立即体验实时模式,并在五分钟内验证核心延迟基准和平台适配性,无需任何生产承诺。无需连接 Kafka 或配置任何外部内容。它使用 Spark 内置的速率源生成合成交易,应用欺诈评分逻辑,并在笔记本中实时显示结果。这是实时模式的"hello world"。运行它,查看延迟数字,并验证您的集群配置是否正确。
步骤 2:构建欺诈检测管道
验证实时模式后,下一个笔记本 构建了一个生产级的欺诈检测管道,模拟领先的 FSI 如何实现实时欺诈决策。它端到端地处理交易,提供欺诈运营和合规团队所需的可解释评分。交易从 Kafka 流经五个阶段,每个阶段持续运行,每个阶段都增加智能:
- 解析 从 Kafka 获取原始 JSON 并将其结构化为类型化列
- 速度跟踪 是有趣的部分。使用 transformWithState(Spark 用于构建任意或自定义有状态转换的强大运算符),管道在流中维护每张卡的状态:这张卡在过去 60 秒内进行了多少次交易?一张卡突然在一分钟内发出五笔交易是典型的卡片测试行为。状态通过 TTL 自动过期,因此不会出现无限制的内存增长,也无需手动清理。
- 丰富化 从商户风险画像和持卡人数据添加上下文。这是否是高风险商户类别(礼品卡、珠宝)?持卡人通常消费 50 美元还是 5,000 美元?这些查找使用 Python 字典而不是广播联接,避免了 BroadcastExchange 开销(这可能在流管道中增加延迟)。
- 评分 将五个加权欺诈信号组合成一个 0-100 的单一分数:速度、地理异常、金额偏差、商户类别风险和国家风险。每个信号由专用的 UDF 计算,权重可配置。结果是一个可解释的分数:您可以准确看到哪些信号贡献了以及贡献了多少。
- 路由 做出最终决策。交易被分类为批准、标记为手动审查或自动阻止,并写入相应的输出 Kafka 主题。
我们还在不同的 TPS 级别下进行了端到端延迟测试。结果显示性能稳定,P50 延迟低于 40 毫秒,P99 延迟在 215-392 毫秒之间。这些结果表明,使用 Databricks 平台上的 RTM,Kafka 进、Kafka 出的架构可以实现低延迟、生产就绪的性能,而无需依赖外部 API 或额外的基础设施。
步骤 3:升级到机器学习
基于静态规则的欺诈检测创建了审计友好但脆弱的系统。阈值是任意的:为什么 60 秒内的五笔交易是"可疑的"?为什么不是四笔或六笔?而且由于没有学习能力,系统永远不会从过去的决策中改进。
高级笔记本将此逻辑升级为受监管的机器学习模型。这种转变使风险团队能够减少误报,适应新兴的欺诈模式,并通过 MLflow 内置的实验跟踪和版本控制向监管机构展示模型沿袭。这引入了两个新的平台功能:
- Lakebase 作为在线服务层。 Lakebase 是 Databricks 的托管 PostgreSQL 服务。使用 Spark Structured Streaming 的 foreach sink 配合自定义的 LakebaseFeatureWriter,管道持续将每张卡的特征、速度模式、平均交易金额、地理分布等流式传输到 Lakebase 表中,并支持 upsert 语义。Lakebase 提供亚毫秒级的读取延迟,使其成为实时特征服务的理想选择,无需管理外部基础设施。
- MLflow 用于模型训练和服务。 使用 MLflow 进行实验跟踪和模型版本管理,在历史标记数据上训练 RandomForest 分类器。训练好的模型作为 Spark UDF 加载,并应用于流式管道中的每笔交易。结合来自 Lakebase 的实时特征,该模型能够学习静态规则遗漏的信号之间的非线性关系,并随着新标记数据的可用而持续改进。
步骤 4:实时监控一切
对于需要在实时监管报告义务下工作的欺诈团队来说,操作可见性是不可妥协的。为了使系统可观测,该加速器包含一个基于 Streamlit 的 Databricks Apps,它直接从 Lakebase 读取数据,提供实时欺诈监控仪表板。这为欺诈分析师和风险经理提供了对系统做出的每个决策的实时、可审计的视图,无需工程支持即可访问。用户可以跟踪已评分的交易总数、决策分类(批准、标记、阻止)、最近的欺诈分数(包含卡级别详情)以及欺诈概率分布,所有数据每 10 秒自动刷新。这就是使系统在实践中可用的操作层,而不仅仅是技术上可用。
关键洞察是所有内容都在同一个平台上运行。驱动批量 ETL 和 ML 训练的同一个 Spark 引擎现在处理亚 300 毫秒的流式处理。Unity Catalog 现在管理流式表和训练数据。MLflow 现在跟踪您的欺诈模型,无论它们是用于批量推理还是实时评分。没有集成差距,没有治理分裂,也没有第二个技术栈需要维护,因为一切都在同一个平台上。
入门指南
此解决方案加速器设计为可渐进式适应:从简单开始,根据需要添加复杂性。
- 快速入门:克隆仓库,打开 `notebooks/RTM_00_Quick_Start.py`,并在配置为运行实时模式的集群上运行。您将看到 RTM 以亚 300 毫秒的延迟处理合成交易——无需 Kafka,无需外部设置。
- 完整管道:使用您的代理地址配置 Kafka 密钥范围,然后运行 `notebooks/RTM_01_Introduction_fraud_detection.py`。这为您提供了完整的解析-丰富-评分-路由管道,从 Kafka 读取并写入 Kafka。运行时,您将看到交易流经所有五个阶段,决策落入批准、标记和阻止的输出主题中。
- ML 驱动的评分:创建 Lakebase 实例,然后运行 `notebooks/RTM_02_Advanced_fraud_detection_ml.py`。这添加了 Lakebase 特征流、使用 MLflow 的模型训练以及管道中的 ML 评分。完成后,MLflow 将记录训练好的模型,管道将开始发出 ML 衍生的欺诈分数,取代基于规则的权重。
- 实时监控应用:从 `apps/` 部署 Streamlit 应用作为 Databricks Apps,并绑定 Lakebase 资源。该应用自动连接并开始显示实时欺诈分数。
最快的方式是使用 Databricks Asset Bundles——只需克隆、部署和运行:
该捆绑包会自动配置正确配置的集群并按顺序运行所有笔记本。
了解更多关于实时模式的信息
实时模式在 Databricks 上于 AWS、Azure 和 GCP 全面可用。欺诈检测解决方案加速器是开源的,可随时部署。