我们进行大数据平台建设有几个方面的背景。一是我们在信息化建设和数据分析的基础比较好;二是虽然在信息化建设过程中建设了比较完成的BI应用,但随着业务不断发展,这些解决方案已不能完全满足业务对于数据分析的需求;三是大数据技术的快速发展和应用为满足业务迫切需求提供了新的解决方案。
我们在信息化道路上已经走过很长一段历程,通过软件系统将业务逻辑和业务流程进行电子化改造,实现了业务数据结构化存储。随着业务数据的结构化存储不断发展,银行在数据分析和利用方面也逐步进行建设,比如数据采集、数据仓库以及集市等应用也逐步建立,数据下发、报表以及驾驶舱等数据消费应用也逐步完善。运用先进的数据分析工具深度挖掘数据价值在行内的有着比较深厚的“群众基础”,上至行领导、下至支行普通员工都深刻得理解数据分析工具对于挖掘数据价值的重要性,并随着数据应用不断深入对于怎样更好的进行数据分析和使用有了越来越多的需求。
业务部门已经不满足于仅对财务报表数据、经营情况的数据分析,希望能对业务开展各个环节进行快捷的数据分析,对于业务经营活动提供强力有的数据支撑和决策能力。这势必增加数据存储和计算资源,在面对这些新业务需求时传统的数据处理遇到的困难主要有几个方面。一方面扩容成本比较高,且只能处理及结构化数据;另一方面大量的数据分析对于系统的计算资源要求太高,无法保证数据分析效率;最后,只能提供离线数据处理,无法提供实时或准实时的数据分析,这样就导致了业务需求井喷但数据分析系统却无法支撑的局面。
我行从2013年我们开始对大数据解决方案进行试验性论证,大数据解决方案可将更多的数据纳入分析,将以前无法处理的半结构化以及文本数据进行处理,能够与现有的数据仓库和集市等进行整合,充分利用现有整合结果进行精加工,并通过将大数据分析结果下发给行内业务系统、报表工具进行数据消费,进一步深入挖掘数据的价值。
总的来讲就是我们有比较好的信息化基础和数据分析基础,业务对于数据分析的诉求无法完全通过传统的BI类应用得到满足,而大数据提供的技术解决方案让业务更有想象空间。
经过与业务部门需求的深入沟通,与同业及厂商的进行深入调研,结合我行实际情况,明确了大数据平台建设需要实现以下几个技术目标:
一是要有更多的数据,要比传统BI处理和分析更多的数据,提升数据分析的范围,在现有数据的基础上补充对半结构化和非结构化数据的分析处理能力,实现对业务全流程相关数据的整合和分析;
二是更全面的数据处理能力,批量处理能力要比传统BI更强,每天能完成TB级数据处理,同时突破现有的BI系统仅提供批量离线数据处理的桎梏,必须要提供实时的基于事件的数据分析决策能力;
三是要有更好的数据服务,针对业务对传统BI类应用使用中的痛点进行该改进,让用户能够方便快捷了解平台能提供什么样的服务,怎样能快速获取到平台的数据服务;四是更丰富的系统对接方式,传统BI将处理结果以批量方式下发给业务系统使用,我们需要将大数据技术的处理结果封装成数据服务接口,与现有业务系统对接进行数据消费,减少批量数据下发对下游系统的存储和性能压力。
在建设过程中面临的困难主要有几个方面,大数据技术基础薄弱、大数据技术应用能否发挥价值的不确定大、数据治理管控的难度比较大等问题。
银行信息建设过程是逐步积累起来的,且有比较多的同业建设经验可以借鉴,而我们在准备进行大数据建设时,彼时在银行系统内掌握并用好大数据技术的还比较少,并没有太多同业成功经验可以复制,新技术引入对于开发和系统维护的挑战都很大。我们做了三个方面的工作进行弥补:一是加大人员投入,聚焦技术方向深入研究相关技术;二是找靠谱的实施服务商,通过实施服务商找一些有大数据开发能力和实施经验的开发人员,加快原始技术积累进程;三是加强技术交流,鼓励结合项目不断学习新技术并在项目组内进行交流,鼓励参加开源社区组织的技术沙龙走出去看看别人怎样做的,积极与银行同业以及先进的互联网公司进行技术和应用的交流。
大数据应用首先是技术上革新,其次是对内部管理模式和工作机制也是新的挑战,银行和互联网企业的“基因”上差异很大,项目建设论证阶段,专家评委对大数据技术在银行系统内是否会“水土不服”表示担忧。对于一个新组建的几乎零基础的团队能不能把大数据技术用起来,以及能否发挥数据的业务价值都有很大的疑虑。为此,我们将建设工作分成几个阶段实施,尽量减少一次性大量投入的风险。在平台建设方面,先建设离线数据处理能力,通过离线建设摸索大数据技术与银行业务结合的实现方案,再进行自助数据分析和实时决策能力的建设,不断完善数据治理能力;在应用上,与业务达成共识选定易于实现且成效显著的业务场景,搭建最小集群进行开发和应用,待应用模式逐步成熟后根据业务需求对集群进行扩容。当技术路线或者实现方式等导致与业务需求存在偏差的情况,可以及时调整方向,降低技术不确定性带来的影响。总体上来讲,按照“先离线后实时,先简单后复杂,兼顾数据治理”的思路进行分阶段建设,每一阶段均按照“小步快跑,快速迭代”的思路快速应用产生价值。
大数据平台要整合处理的数据量大,一旦大数据平台进行大量的应用,数据之间的引用和依赖关系复杂,对[L1] 数据治理能力的要求越来越高。要实现对大数据平台元数据、数据血缘、码值管理、数据生命周期进行有效管理,确保大数据平台的数据变更风险可控、业务影响分析准确,要将大数据平台与行内数据标准和规范相匹配,满足数据治理的要[L2] 求,我们从两个方面入手解决这个矛盾。一方面是逐步完善大数据平台的数据治理体系,形成数据开发规范,将数据开发的规范和数据治理要求内嵌至数据开发过程,作为强制执行要求进行约束,确保从源头上满足数据治理要求。另一方面,与数据治理相关应用进行对接,将行内已有的元数据、码值等作为大数据平台数据治理的输入,复用行内数据标准,同时将大数据平台产生的元数据和码值输出到数据治理应用进行统一管理。
为了能更好的实现大数据平台的业务功能和预期的目标,我们采用了自顶向下的方式对大数据平台进行功能设计,同时在业务应用过程中不断优化调整大数据平台业务功能,形成了满足离线处理及数据消费、实时运算及决策两类应用场景,多个物理集群的平台技术架构。
技术架构上从下至上分别为数据源层、数据采集交换层、数据存储与计算层、数据能力层、数据服务层以及配套的数据管理能力和批次管理能力等。
数据源包含了行内与大数据平台进行实时对接的系统、或者为业务系统提供业务数据来源的系统。主要由账务类系统、渠道类系统、决策支持类系统等。
数据交换层,分为应用系统实时接口对接采集、实时旁路数据采集、离线批量数据采集等三个部分。实时接口对接采集需要业务系统配合改造将需要采集的业务信息存放在消息队列中,为了实时业务场景提供事件输入;实时的旁路采集在网络通讯层面进行数据数据旁路采集,相对实时接口采集来讲,业务系统不需要配合改造,是一种业务系统无感知的采集方式,比较适用于基于事件的准实时营销和推荐类的场景;离线批量数据采集在银行系统中比较成熟,传统BI系统以及建设了比较完备的数据采集工具,直接复用现有数据采集工具进行行内数据的采集,对于已有工具未采集的数据,采用自定义开发程序采集的方式,业务空闲时段定时生成数据文件,供数到大数据平台。三类数据采集方式基本上能覆盖大数据平台相关业务应用场景。
数据存储与计算层的主要工作是将采集的数据进行存储和计算,根据大数据平台的业务应用场景,这一层按照业务特点的差异划分了三个不同的区域,离线数据存储与计算区、实时计算区、数据应用区。
离线数据存储与计算区将批量采集的数据加载Hadoop集群进行集中存储,同时通过Hive和Spark程序进行批量数据处理工作,主要进行数据清洗、标准化、指标标签加工等。实时计算区进行基于事件的实时指标计算以及实时决策,能够满足事中风控决策、个性化推荐、事后营销等业务场景需求。数据应用区有几项功能定位:
一是同步离线处理的结果数据,通过接口提供给行内业务系统进行数据访问,主要提供用户的360°画像数据的消费。
二是将大数据平台数据的加工结果进行数据展示,便于业务应用,比如客户之间的关系的查询和展示,比如用户的画像展示和客群筛选等。
三是提供基于大数据平台加工结果进行自助化报表分析等。
大数据平台具备了几种对外开放的能力,由数据开发和运行能力、自助分析能力、数据快速消费能力组成。为行内的各类数据使用人员提供支撑服务。
一是数据开发和运行能力,具备基于开发模板的进行可视化和规范化的进行数据批量处理程序开发能力;具备指标设计和管理能力,支持按照不同主键进行指标设计和加工,基于平台已整合存储的数据进行指标口径配置,每天自动生成指标并将指标下发给下游业务系统。
二是自助分析能力,是一种让用户能够自助进行数据理解及分析的能力。主要由数据探查工具、灵活自助分析工具、客户360°视图服务等提供核心的自助分析能力。
通过数据探查工具能让行内各数据应用开发人员能快速了解大数据平台已整合的数据、数据的组织形式、加工口径等信息,方便应用开发人员基于已加工的数据结果或者基于整合数据进行二次加工,开发针对应用场景的数据消费应用。向行内的数据开发人员、数据分析人员、业务应用人员等提供统一的数据检索引擎,为各类用户提供无差异的数据检索服务,将灵活自助分析的报表、平台内各种数据、平台应用产品、甚至平台仍未整合的行内业务数据进行统一检索和展示。灵活自助分析工具为行内的业务用户提供灵活、自助的报表分析工具,报表工具分析的是加工后的指标数据或者经整合后的数据。报表分析工具提供报表分享功能,报表制作完成后能根据底层数据情况自动刷新报表,提供美观的图表展示功能。
数据探查工具与灵活自助分析工具进行深度的应用整合,灵活自助分析工具设计制作的报表可在数据探索工具进行发布,发布后的报表可被全行用户检索到,在检索结果中仅展示报表的业务属性描述以及对应的属主等信息,对于没有报表访问权限的用户无法访问报表内容,并提示获取授权的途径;对于已被授权的用户能通过检索结果“一键直达”报表展示页。
基于客户维度的指标体系和离线区的加工结果形成了客户360°视图,通过客户基本信息、客户持有产品信息、客户交易行为信息、客户与客户之间的关系、客户理财偏好、客户风险属性等等多维度的指标和标签对客户特征进行全面的描述,通过维度和指标不断丰富完善使得客户画像越来越清晰,客户的形象越来越具体。提供了基于客户360°视图自助进行客群定义和筛选的能力。
数据消费能力,指的是将大数据平台批量和实时运算的结果运用到业务交易的各个环节中,实现数据价值。实时决策引擎基于流计算技术和客户360视图,从业务系统实时采集业务事件数据并进行实时指标加工,根据业务配置的决策规则实时运算决策结果。通过对接不同的业务事件及定制不同的结果反馈机制,能够为业务系统提供实时营销、个性化推荐、风控防欺诈等实时决策能力。通过将大数据平台的指标封装成统一的数据服务接口,提供给行内各个业务系统进行实时调用,用以辅助交易系统开展业务。
平台服务层,基于数据存储和计算层提供的能力提供数据服务能力,主要有实时数据查询和消费服务、实时数据决策服务、客群定义与筛选服务、客户画像展示服务、自助数据探索与分析服务。
批次管理服务,调度服务负责在达到批次执行条件时正常发起批次,批次运行条件设置比较复杂且无法满足大数据平台批次复杂的依赖关系设置。监控工具需要能结合数据运行过程中的状态信息进行监控,且支持的方式比较单一。结合调度服务和监控工具的特点,充分发挥调度和监控的特长,重新设计了批次管理服务和批次监控规范,在数据处理的关键节点埋点记录批次运行的状态信息,方便进行批次运行情况监控以及上下游数据批次依赖关系维护等。
在数据管理能力上,将数据开发的规范和数据治理要求内嵌至数据开发过程,作为强制执行要求进行约束,进行指标管理、元数据管理、数据依赖关系维护等。每一份数据接入即约定了数据生命周期,数据开发工具定期将过期的数据、指标进行清理,确保严格按数据生命周期管理数据;通过维护数据质量检核规则,定期出具数据质量简报,确保能及时发现数据加工过程中的潜在问题。
业务场景:针对新发卡营销活动,实时向达到活动资格的新用户发送营销信息。
相关角色:营销活动策划人员、数据分析人员、数据开发人员、应用开发人员。
这个场景中,不同角色利用大数据平台提供的能力和服务,将数据采集整合加工、业务数据探索和分析、业务系统对接工作等基于大数据平台形成闭环。
1)营销活动策划人员提出营销活动的idea,通过大数据平台的数据探查能力了解idea落地执行是否具有可行性。
2)应用开发人员根据业务需求,制定数据对接方案。通过实时决策能力进行指标实时加工,并准实时将决策结果通知给营销信息触达的应用发送活动达标信息。
3)数据开发人员基于数据开发能力完成营销效果统计所需数据采集工作。
4)营销活动策划人员通过数据开发能力设计支持营销活动需要的指标及指标统计口径,以及设计营销效果统计需要的指标及口径;
5)数据分析人员通过自助分析能力分析营销活动效果,并将分析结果分享给营销活动策划人员。
6)营销活动策划人员根据活动的效果,及时调整营销策略和广告资源投放策略,提升营销活动效果。
经过近几年不断地摸索和实践,大数据团队整合了客户、产品、风险管控、经营决策等各维度的数据,大数据平台具备了批量数据加工和实时决策等基础能力,实现业务系统与平台的快速对接快。数据服务能力显著增强,业务人员对于数据使用和理解更加深入,在不同的应用场景中均发挥了大数据的价值。
大数据平台对行内业务系统的支撑作用,主要有几个方面。一是基于大数据平台加工的客户360°视图对行内业务创新的支撑作用,为客服部门提升了用户满意度,为电营部门提高了电话营销的成功率,为风控部门提供了新的解决思路。二是基于实时数据接口,为渠道类系统优化用户体验提供数据支持。通过实时决策服务,为营销和推荐提供了非常有效的技术支撑,用户体验也有了很大提升;为风控提供了新的思路,真正做到了事中阻断拦截,减少用户损失。