1. 课程导论:反欺诈图谱与数据血缘的概念、课程目标与学习路径、前置知识要求
1.1 为什么需要反欺诈图谱与数据血缘
在金融、电商、社交等业务场景中,欺诈行为正从单点攻击演变为团伙化、跨场景、长周期的复杂模式。传统规则引擎和单点机器学习模型难以捕捉以下三类风险:
- 团伙欺诈:多个账户共享设备、IP、联系人,形成隐蔽的关联网络。
- 时序穿透:欺诈行为在时间轴上分散,例如“养号-薅羊毛-洗钱”跨月完成。
- 数据链路断裂:特征加工、模型推理、规则判定的中间结果无法追溯,导致审计和调优困难。
反欺诈图谱(Fraud Knowledge Graph)通过实体(账户、设备、订单)和关系(登录、转账、同设备)构建关联网络,而数据血缘(Data Lineage)则记录每张图谱、每个特征、每条规则从原始数据到最终输出的完整变换过程。两者结合,才能实现可解释、可追溯、可迭代的智能反欺诈体系。
核心观点: 反欺诈图谱解决“谁和谁有关”,数据血缘解决“数据从哪来、怎么变、去哪了”。本课程使用 Spark 回放技术,将两者统一到可复现的离线与实时管道中。
1.2 反欺诈图谱与数据血缘的概念对比
| 维度 | 反欺诈图谱 | 数据血缘 |
|---|---|---|
| 核心对象 | 实体(账户、设备、IP、订单)与关系 | 数据集、特征、模型、规则、作业 |
| 存储结构 | 属性图(节点+边+属性) | 有向无环图(DAG) |
| 主要用途 | 团伙识别、关联挖掘、风险传播 | 数据溯源、影响分析、故障定位 |
| 时间维度 | 快照或时序边 | 作业执行时间戳与版本 |
| 典型工具 | Neo4j、JanusGraph、Spark GraphX | Atlas、Marquez、OpenLineage |
1.3 课程目标与学习路径
本课程面向具备 Spark 基础的数据工程师和反欺诈算法工程师,目标是让学员掌握以下能力:
- 构建反欺诈图谱:使用 Spark GraphX 从原始交易、设备、登录日志中提取实体和关系,生成属性图。
- 采集与存储数据血缘:在 Spark 作业中嵌入 OpenLineage 或自定义监听器,记录每个 DataFrame 的输入、变换、输出。
- 实现回放机制:基于血缘 DAG 对历史数据进行“时间旅行”重算,验证规则有效性或重建图谱快照。
- 集成实时与离线管道:将回放能力嵌入 Structured Streaming,实现增量图谱更新与血缘追溯。
学习路径分为四个阶段:
| 阶段 | 章节范围 | 核心产出 |
|---|---|---|
| 基础 | 第 1-4 章 | 理解图谱与血缘概念,搭建 Spark 开发环境 |
| 图谱构建 | 第 5-10 章 | 基于交易日志生成反欺诈属性图,实现团伙检测算法 |
| 血缘采集 | 第 11-18 章 | 在 Spark ETL 和 ML 管道中嵌入血缘采集,输出标准 lineage 事件 |
| 回放与集成 | 第 19-30 章 | 实现基于血缘的离线回放引擎,集成实时流,完成完整反欺诈回放系统 |
1.4 前置知识要求
为顺利学习本课程,建议学员提前掌握以下技能与概念:
- Spark 核心编程:RDD、DataFrame、Dataset 的基本操作,Spark SQL 与 Catalyst 优化器基础。
- Scala 或 Python 基础:课程示例以 Scala 为主,Python(PySpark)也可跟随,但部分 GraphX API 需 Scala。
- 图论基础:节点、边、度、连通分量、社区发现等基本概念。
- 反欺诈业务常识:了解设备指纹、IP 代理、团伙欺诈、薅羊毛等常见风险模式。
- Linux 与 Shell:能够提交 Spark 作业、查看日志、配置环境变量。
学习建议: 如果对 GraphX 或 OpenLineage 完全陌生,不必担心。第 2-4 章会提供完整的快速入门实验,帮助你补齐短板。
1.5 课程使用的技术栈
| 组件 | 版本建议 | 用途 |
|---|---|---|
| Apache Spark | 3.3+ | 核心计算引擎,GraphX 图计算,Structured Streaming |
| OpenLineage | 1.0+ | 数据血缘标准规范与采集客户端 |
| JanusGraph / Neo4j | 最新稳定版 | 反欺诈图谱存储与查询(可选) |
| Apache Kafka | 3.0+ | 实时事件总线,用于流式图谱更新 |
| HDFS / S3 | - | 离线数据存储与回放快照 |
1.6 课程特色与学习约定
- 实战驱动:每章配套可运行的 Spark 代码示例,并提供测试数据集。
- 血缘贯穿:从第 5 章开始,每个图谱构建作业都附带血缘采集代码。
- 回放验证:第 19 章后,所有案例均支持“回放模式”,可指定时间戳重新计算。
- 版本兼容:代码基于 Spark 3.3+,OpenLineage 1.0+,兼容 CDH、HDP、云原生环境。
注意: 本课程不深入讲解 Spark 基础 API 的每个细节,但会在关键位置提供参考资料链接。如果对 DataFrame 或 Structured Streaming 完全陌生,建议先完成 Spark 官方快速入门。