平安银行大数据实践:Flink如何加速实时数据处理

需积分: 10 6 下载量 42 浏览量 更新于2024-07-14 收藏 2.02MB PDF 举报
"Flink在平安银行的应用与实践.pdf" 这篇文档详细介绍了Flink在平安银行的应用情况,展示了Flink如何帮助平安银行实现大数据处理的实时化和效率提升。以下是相关知识点的详细说明: 1. 平安银行背景: - 平安银行是2012年由平安银行和深发展银行合并后的金融机构,致力于科技创新,特别是在零售业务上取得了显著成果。 - 零售业务包括直销银行、信用卡和网银,通过口袋APP整合服务,用户活跃度高,产生了大量的数据。 2. 大数据平台规模: - 平安银行的大数据平台每天处理23亿条记录,新增数据量达1TB,月活跃用户超过3000万。 - 平台拥有1200台服务器,总存储容量达到80PB,展示了其大数据处理的庞大规模。 3. 实时数据平台: - 实时数据平台负责数据采集、实时计算、数据输出等多个环节,涵盖了数据库、埋点数据、消息队列和接口等组件。 - 数据源包括口袋APP等各类渠道,实时计算引擎早期是自研的,后来引入了Flink进行升级。 4. Flink的应用: - 引入Flink后,银行的实时计算能力得到了显著提升,支持了双流、多流实时计算,以及丰富的Connectors和复杂事件处理。 - Flink提供了FlinkSQL和FlinkJar等功能,使得规则计算和监控告警规则更加灵活和多样化。 - Flink的引入改变了之前最快t+1小时的数据加工时间,实现了秒级别的实时计算,极大地提升了数据处理效率。 5. 实时数据平台的发展: - 从最初的自研实时计算引擎,到引入Flink,银行的实时数据平台经历了从基于变量的计算到支持更复杂场景的演进。 - 现在的平台具备了丰富的监控告警指标,能够更好地应对实时数据处理中的异常检测和实时监控需求。 6. 实时数据应用场景: - 实时数据平台服务于风控因子计算、实时数仓建设、实时监控、搜索引擎、机器人应用等多方面,为业务决策提供了及时、准确的数据支持。 总结起来,Flink在平安银行的应用显著提升了银行实时数据处理的能力,不仅优化了数据加工速度,还增强了平台的灵活性和监控能力,从而更好地支持了零售业务的快速发展。这一实践表明,Flink在金融领域的实时大数据处理中具有广阔的应用前景。

Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.flink.table.planner.plan.rules.FlinkStreamRuleSets$ at org.apache.flink.table.planner.plan.optimize.program.FlinkStreamProgram$.buildProgram(FlinkStreamProgram.scala:56) at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.$anonfun$optimizeTree$1(StreamCommonSubGraphBasedOptimizer.scala:158) at scala.Option.getOrElse(Option.scala:121) at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.optimizeTree(StreamCommonSubGraphBasedOptimizer.scala:158) at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.doOptimize(StreamCommonSubGraphBasedOptimizer.scala:83) at org.apache.flink.table.planner.plan.optimize.CommonSubGraphBasedOptimizer.optimize(CommonSubGraphBasedOptimizer.scala:77) at org.apache.flink.table.planner.delegation.PlannerBase.optimize(PlannerBase.scala:287) at org.apache.flink.table.planner.delegation.PlannerBase.translate(PlannerBase.scala:160) at org.apache.flink.table.api.internal.TableEnvironmentImpl.translate(TableEnvironmentImpl.java:1329) at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:676) at org.apache.flink.table.api.internal.StatementSetImpl.execute(StatementSetImpl.java:98) at com.dtstack.chunjun.util.SqlTaskUtil.executeSql(SqlTaskUtil.java:117) at com.dtstack.chunjun.util.SqlTaskUtil.executeSqlJob(SqlTaskUtil.java:97) at com.dtstack.chunjun.Main.main(Main.java:59) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:366) at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:235) at org.apache.flink.client.program.PackagedProgramUtils.getPipelineFromProgram(PackagedProgramUtils.java:158) ... 14 more

2023-06-09 上传