工程的博客

监管报告传递的及时性和可靠性

2021年9月17日 工程的博客

分享这篇文章

管理风险和监管合规是一项日益复杂和昂贵的工作。监管改革增加了500%自2008年全球金融危机以来,在这一过程中提高了监管成本。鉴于与不合规和SLA违约相关的罚款(银行的罚款达到历史最高水平)2019年100亿美元用于“反洗钱”),即使资料不完整,亦须继续处理报告。另一方面,由于“控制不足”,数据质量较差的记录也会被“罚款”。因此,许多金融服务机构(fsi)经常在低数据质量和严格的sla之间进行斗争,在数据可靠性和数据及时性之间进行平衡。

在这个监管报告解决方案加速器中,我们将演示如何进行Delta活动表能够保证监管数据的实时采集和处理,以适应监管sla。通过Delta Sharing和Delta Live Tables的结合,分析师对传输的监管数据的质量有了实时信心。在这篇博客文章中,我们展示了Lakehouse体系结构的优点,它将金融服务行业数据模型与云计算的灵活性结合起来,以低开发开销实现高治理标准。我们现在将解释什么是FIRE数据模型,以及如何集成DLT来构建健壮的数据管道。

FIRE数据模型

金融监管数据标准(FIRE)定义了在金融监管系统之间传输粒度数据的通用规范。监管数据是指监管提交、要求和计算的基础数据,用于政策、监测和监管目的。的FIRE数据标准欧洲委员会,开放数据研究所开放数据孵化器通过地平线2020资助计划为欧洲制定FIRE数据标准。作为这个解决方案的一部分,我们贡献了一个PySpark模块,它可以将FIRE数据模型解释为Apache Spark™操作管道。

Delta活动表

Databricks最近发布了一款用于数据管道的新产品编制这使得在企业规模上构建和管理可靠的数据管道变得容易。通过实时评估多个期望、丢弃或监视无效记录的能力,在Delta Live Tables上集成FIRE数据模型的好处是显而易见的。如下面的体系结构所示,Delta Live Table将摄取细粒度监管数据登陆云存储,系统化内容和验证与FIRE数据规范保持一致的记录。请继续阅读,观看我们演示如何使用Delta Sharing以安全、可扩展和透明的方式在监管系统之间交换粒度信息。

使用Delta Sharing以安全、可扩展和透明的方式在监管系统之间交换粒度信息。

执行模式

即使一些数据格式可能“看起来”是结构化的(例如JSON文件),强制使用模式不仅仅是一个好的工程实践;在企业设置中,特别是在法规遵从性的空间中,模式强制保证任何缺失的字段都是预期的,未预期的字段将被丢弃,数据类型将被完全评估(例如,日期应该被视为日期对象而不是字符串)。它还针对最终的数据漂移对系统进行验证测试。使用FIRE pyspark模块,我们以编程方式检索处理应用于原始记录流上的给定FIRE实体(该示例中的附带实体)所需的Spark模式。

fire.spark进口FireModelfire_model = FireModel().load(“担保”Fire_schema = fire_model.schema

在下面的示例中,我们对传入的CSV文件强制使用模式。通过装饰这个过程使用@dlt注释中,我们定义了Delta Live Table的入口点,从挂载的目录中读取原始CSV文件,并将结构图记录写入青铜层。

@dlt.create_table ()defcollateral_bronze():返回火花.readStream.option (“maxFilesPerTrigger”“1”.option (“badRecordsPath”“/道路/ /无效担保”格式“csv”. schema (fire_schema).load (“/道路/ /生/担保”

评估预期

应用模式是一回事,执行它的约束是另一回事。考虑到模式定义对于一个FIRE实体(参见附带模式定义的例子),我们可以检测一个字段是否是必需的。给定一个枚举对象,我们确保它的值是一致的(例如货币代码)。除了来自模式的技术约束外,FIRE模型还报告业务期望,例如最小值、最大值、货币性和maxItems。所有这些技术和业务约束都将以编程方式从FIRE数据模型中检索出来,并解释为一系列Spark SQL表达式。

fire.spark进口FireModelfire_model = FireModel().load(“担保”Fire_constraints = fire_model.constraints

使用Delta Live Tables,用户能够同时评估多个期望,使他们能够删除无效记录,简单地监视数据质量或中止整个管道。在我们的特定场景中,我们希望删除不符合预期的记录,稍后将这些记录存储到隔离表中,如本博客提供的笔记本中所述。

@dlt.create_table ()@dlt.expect_all_or_drop (fire_constraintsdefcollateral_silver():返回dlt.read_stream (“collateral_bronze”

只需几行代码,我们就可以确保银表在语法(有效模式)和语义(有效期望)上都是正确的。如下图所示,合规官可以实时查看正在处理的记录的数量。在这个特定的示例中,我们确保附属实体完全完成了92.2%(隔离处理剩余的7.8%)。

带有输出质量度量的delta活表的直接无环图

操作数据存储

除了实际数据存储为增量文件外,delta Live Tables还在system/events下以“增量”格式存储操作指标。我们遵循Lakehouse架构的标准模式,使用AutoLoader“订阅”新的操作指标,在新指标展开时处理系统事件——批处理或实时处理。由于Delta Lake的事务日志可以跟踪任何数据更新,组织可以访问新的指标,而不必构建和维护自己的检查点流程。

Input_stream = spark \.readStream \格式“δ”) \.load (“/道路/ /管道/系统/事件”
              Output_stream = extract_metrics(input_stream)
              output_stream \.writeStream \格式“δ”) \.option (“checkpointLocation”“/道路/ /检查站”) \.table (metrics_table)

所有的度量标准都集中在一个操作存储中,分析人员可以使用砖的SQL创建简单的仪表板功能或更复杂的警报机制,以实时检测数据质量问题。

来自管道执行的数据质量度量流

Delta Lake格式的不变性,加上Delta Live Tables提供的数据质量透明度,允许金融机构“时间旅行”到符合监管合规所需的数量和质量的特定数据版本。在我们的具体示例中,重新播放存储在隔离中的7.2%的无效记录将导致附加到银表的不同Delta版本,该版本可在监管机构之间共享。

描述历史fire.collateral_silver

监管数据传输

金融机构对数据的质量和数量都有充分的信心,可以安全地在使用的监管系统之间交换信息三角洲分享,一种用于企业数据交换的开放协议。Delta Lake的开源特性不限制终端用户使用同一个平台,也不依赖复杂的bob体育客户端下载ETL管道来消费数据(例如通过SFTP服务器访问数据文件),这使得数据消费者可以从Python、Spark或直接通过MI/BI仪表板(如Tableau或PowerBI)访问本机的模式化数据。bob下载地址

尽管我们可以按原样共享银表,但我们可能希望使用仅在满足预定义的数据质量阈值时共享监管数据的业务规则。在本例中,我们将银表克隆到一个与内部网络隔离的、终端用户可以访问的特定位置(非军事区,或DMZ)。

delta.tables进口deltaTable = deltaTable . forname (spark,“fire.collateral_silver”deltaTable.cloneAtVersion (approved_version,dmz_path,isShallow =取代=真正的
              spark.sql (“制造桌子火。”colleral_gold USING DELTA LOCATION“{}”格式(dmz_path)

虽然Delta Sharing开源解决方案依赖于共享服bob下载地址务器来管理权限,但Databricks利用了统一目录集中执行访问控制策略,通过SQL接口为用户提供完整的审计日志功能,简化访问管理。在下面的示例中,我们创建了一个SHARE,其中包括我们的监管表和用于共享数据的接收者。

——定义我们的共享策略创建分享regulatory_reports;改变分享regulatory_reports添加表格fire.collateral_gold;改变分享regulatory_reports添加表格fire.loan_gold;改变分享regulatory_reports添加表格fire.security_gold;改变分享regulatory_reports添加表格fire.derivative_gold;——创建收件人并授予选择访问权创建收件人regulatory_body;格兰特选择分享regulatory_reports收件人regulatory_body;

任何具有授予权限的监管机构或用户都可以使用通过该过程交换的个人访问令牌访问我们的底层数据。有关Delta Sharing的更多信息,请访问我们的产品页面并与您的Databricks代表联系。

证明测试你的遵从性

通过这一系列笔记本和Delta Live Tables作业,我们展示了Lakehouse架构在监管数据的摄取、处理、验证和传输方面的好处。具体来说,我们解决了组织确保监管管道的一致性、完整性和及时性的需求,这些需求可以通过使用公共数据模型(FIRE)加上灵活的编排引擎(Delta Live Tables)轻松实现。通过德尔塔共享功能,我们最终展示了fsi如何在满足报告要求、降低运营成本和适应新标准的同时,为各个监管系统之间交换的监管数据带来充分的透明度和信心。

使用附件熟悉FIRE数据管道笔记本电脑并访问我们的解决方案加速器中心及时了解我们最新的金融服务解决方案。

免费试用Databricks
看到所有工程的博客的帖子