監管報告傳遞的及時性和可靠性
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以安全、可擴展和透明的方式在監管係統之間交換粒度信息。
執行模式
即使一些數據格式可能“看起來”是結構化的(例如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_constraints)defcollateral_silver():返回dlt.read_stream (“collateral_bronze”)
隻需幾行代碼,我們就可以確保銀表在語法(有效模式)和語義(有效期望)上都是正確的。如下圖所示,合規官可以實時查看正在處理的記錄的數量。在這個特定的示例中,我們確保附屬實體完全完成了92.2%(隔離處理剩餘的7.8%)。
操作數據存儲
除了實際數據存儲為增量文件外,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的開源特性不限製終端用戶使用同一個平台,也不依賴複雜的Beplay体育安卓版本ETL管道來消費數據(例如通過SFTP服務器訪問數據文件),這使得數據消費者可以從Python、Spark或直接通過MI/BI儀表板(如Tableau或PowerBI)訪問本機的模式化數據。
盡管我們可以按原樣共享銀表,但我們可能希望使用僅在滿足預定義的數據質量閾值時共享監管數據的業務規則。在本例中,我們將銀表克隆到一個與內部網絡隔離的、終端用戶可以訪問的特定位置(非軍事區,或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開源解決方案依賴於共享服務器來管理權限,但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如何在滿足報告要求、降低運營成本和適應新標準的同時,為各個監管係統之間交換的監管數據帶來充分的透明度和信心。