简介: 本文介绍了百信银行实时计算平台的建设情况,实时数据湖构建在 Hudi 上的方案和实践方法,以及实时计算平台集成 Hudi 和使用 Hudi 的方式。
本文介绍了百信银行实时计算平台的建设情况,实时数据湖构建在 Hudi 上的方案和实践方法,以及实时计算平台集成 Hudi 和使用 Hudi 的方式。内容包括:
- 背景
- 百信银行基于 Flink 的实时计算平台设计与实践
- 百信银行实时计算平台与实时数据湖的集成实践
- 百信银行实时数据湖的未来
- 总结
一、背景
百信银行,全称为 “中信百信银行股份有限公司”,是首家获批独立法人形式的直销银行。作为首家国有控股的互联网银行,相比于传统金融行业,百信银行对数据敏捷性有更高的要求。
数据敏捷,不仅要求数据的准确性,还要求数据到达的实时性,和数据传输的安全性。为了满足我行数据敏捷性的需求,百信银行大数据部承担起了建设实时计算平台的职责,保证了数据快速,安全且标准得在线送达。
受益于大数据技术的发展和更新迭代,目前广为人知的批流一体的两大支柱分别是:“统一计算引擎” 与 “统一存储引擎”。
- Flink,作为大数据实时计算领域的佼佼者,1.12 版本的发布让它进一步提升了统一计算引擎的能力;
- 同时随着数据湖技术 Hudi 的发展,统一存储引擎也迎来了新一代技术变革。
在 Flink 和 Hudi 社区发展的基础上,百信银行构建了实时计算平台,同时将实时数据湖 Hudi 集成到实时计算平台之上。结合行内数据治理的思路,实现了数据实时在线、安全可靠、标准统一,且有敏捷数据湖的目标。
二、百信银行基于 Flink 的实时计算平台设计与实践
1. 实时计算平台的定位
实时计算平台作为行级实时计算平台,由大数据 IaaS 团队自主研发,是一款实现了实时数据 ”端到端“ 的在线数据加工处理的企业级产品。
- 其核心功能具备了实时采集、实时计算、实时入库、复杂时间处理、规则引擎、可视化管理、一键配置、自主上线,和实时监控预警等。
- 目前其支持的场景有实时数仓、断点召回、智能风控、统一资产视图、反欺诈,和实时特征变量加工等。
- 并且,它服务着行内小微、信贷、反欺诈、消金、财务,和风险等众多业务线。
截止目前,在线稳定运行的有 320+ 的实时任务,且在线运行的任务 QPS 日均达到 170W 左右。
2. 实时计算平台的架构
按照功能来划分的话,实时计算平台的架构主要分为三层:
■ 1)数据采集层
采集层目前主要分为两个场景:
- 第一个场景是采集 MySQL 备库的 Binlog 日志到 Kafka 中。我行所使用的数据采集方案并没有采用业界普遍用的如 Canal,Debezium 等现有的 CDC 方案。
1、因为我们的 MySQL 版本为百信银行内部的版本,Binlog 协议有所不同,所以现有的技术方案不能很好的支持兼容我们获取 Binlog 日志。
2、同时,为了解决我们数据源 MySQL 的备库随时可能因为多机房切换,而造成采集