傳輸的及時性和可靠性管理報告
2021年9月17日 在工程的博客
風險管理和監管合規是一個日益複雜和昂貴的努力。監管變化增加了500%自2008年全球金融危機和在此過程中提高了監管成本。與不相關的罰款和SLA違反(銀行再創新高的罰款AML的100億年的2019美元),有繼續即使數據處理報告是不完整的。另一方麵,數據質量差的記錄也是“罰款”,因為“控製不足。”As a consequence, many Financial Services Institutions (FSIs) are often left battling between poor data quality and strict SLAs, balancing between data reliability and data timeliness.
在這個監管報告解決方案加速器,我們證明三角洲生活表能保證監管實時數據的采集和處理,以適應監管sla。共享和δ住表相結合,分析人士獲得實時監管數據傳輸質量的信心。在這篇文章中,我們展示的好處Lakehouse架構結合金融服務行業數據模型與雲計算的靈活性使高較低的治理標準開發的開銷。現在我們將解釋火災數據模型是什麼以及如何DLT可以集成構建健壯的數據管道。
火災數據模型
金融監管數據標準(火)規範定義了一個常見的顆粒之間數據傳輸的金融監管體係。監管數據指的是數據,構成監管意見書,要求和計算和用於政策,監測和監督的目的。的火災數據標準是支持的歐洲委員會,開放數據研究所和開放數據孵化器火災數據標準歐洲通過地平線2020資金計劃。作為這個解決方案的一部分,我們貢獻PySpark模塊可以解釋火災數據模型到Apache火花™操作管道。
三角洲生活表
數據管道磚最近宣布了一項新產品編製δ生活表,這使得它易於構建和管理在企業範圍內可靠的數據管道。能夠評估多個預期,丟棄、實時監控無效記錄、整合的好處三角洲住表上的火災數據模型是顯而易見的。見下麵的架構中,δ住表攝取細粒度的監管數據降落到雲存儲,係統化內容和驗證數據記錄的一致性符合消防規範。繼續閱讀看到我們演示使用三角洲之間共享交換顆粒信息監管係統在一個安全的、可伸縮的和透明的方式進行。
執行模式
雖然一些數據格式可能“看”結構(例如JSON文件),執行模式不僅僅是一個良好的工程實踐;在企業環境中,特別是在法規遵從性的空間,模式執行擔保任何缺失的字段可以預料到的,意想不到的領域被丟棄和數據類型完全評估(如日期應該被視為一個約會對象,而不是一個字符串)。它還為最終檢驗係統數據漂移。使用火pyspark模塊,我們以編程方式檢索過程所需的火花模式給定火災實體(在這個例子抵押品的實體),我們應用流的原始記錄。
從fire.spark進口FireModelfire_model = FireModel () .load (“擔保”)fire_schema = fire_model.schema
在下麵的例子中,我們執行模式傳入的CSV文件。由裝修這個過程使用@dlt
注釋,我們定義入口點δ生活表,閱讀原始CSV文件從一個安裝目錄,寫個圖示記錄銅層。
@dlt.create_table ()defcollateral_bronze():返回(火花.readStream.option (“maxFilesPerTrigger”,“1”).option (“badRecordsPath”,“/道路/ /無效擔保”)。格式(“csv”). schema (fire_schema).load (“/道路/ /生/擔保”)
評估預期
應用模式是一回事,是另一個加強限製。考慮到模式定義火災實體(參見附帶的示例模式定義),我們可以檢測是否一個字段是必需的。鑒於枚舉對象,我們確保其價值觀是一致的(如貨幣代碼)。除了模式的技術限製,火模型也報道業務預期,如最小、最大、貨幣和maxItems。所有這些技術和業務約束將以編程方式從火中檢索數據模型和解釋為一係列引發SQL表達式。
從fire.spark進口FireModelfire_model = FireModel () .load (“擔保”)fire_constraints = fire_model.constraints
與達美住表,用戶有能力評估多個預期,使他們放棄無效的記錄,隻是監控數據質量或中止整個管道。在我們的特定場景中,我們想把記錄沒有任何我們的期望,我們後存儲到一個隔離表,在這個博客提供的筆記本電腦。
@dlt.create_table ()@dlt.expect_all_or_drop (fire_constraints)defcollateral_silver():返回dlt.read_stream (“collateral_bronze”)
隻有幾行代碼,我們確保銀表是語法(有效模式)和語義(有效的預期)正確。如下所示,合規官員完全能見度在實時處理的記錄數量。在這個特定的例子中,我們確保我們的附屬實體92.2%完成(檢疫處理剩餘的7.8%)。
操作數據存儲
除了實際的數據存儲為三角洲文件,三角洲生活表還存儲操作指標作為“δ”格式下係統/事件。我們遵循一個標準的模式Lakehouse架構的“訂閱”新的操作指標使用自動裝卸機,處理係統事件的新指標——實時批處理或展開。由於三角洲湖的事務日誌記錄的數據更新,組織可以訪問新指標,而無需建立和維護自己的檢查點過程。
input_stream =火花\.readStream \。格式(“δ”)\.load (“/道路/ /管道/係統/事件”)
output_stream = extract_metrics (input_stream)
output_stream \.writeStream \。格式(“δ”)\.option (“checkpointLocation”,“/道路/ /檢查站”)\.table (metrics_table)
與所有可用指標集中成一個操作存儲,分析師可以使用磚的SQL創建簡單的儀表盤功能或更複雜的報警機製實時檢測數據質量問題。
三角洲湖格式的不變性方麵加上δ現場提供的數據質量的透明度表允許金融機構“時間旅行”的特定版本的數據匹配所需的數量和質量法規遵從性。在我們的具體的例子,重演我們的7.2%的無效的記錄存儲在隔離會導致不同版本的三角洲連接到我們的銀表,監管機構之間可以共享的版本。
描述曆史fire.collateral_silver
監管數據的傳輸
數據質量和體積都充滿信心,金融機構可以安全地使用監管係統之間交換信息三角洲分享為企業數據交換,一個開放的協議。不限製終端用戶相同的平台或依賴複雜的ETL管道消費數據(例如通過SFTP服Beplay体育安卓版本務器訪問數據文件),三角洲湖的開源性質使消費者從Python圖示數據的訪問本地數據,火花或直接通過MI / BI儀表板(如表或PowerBI)。
雖然我們可以分享我們的銀表按原樣,我們可能想要使用業務規則,隻有當一個預定義的數據共享管理數據質量閾值。在這個例子中,我們克隆銀表在不同的版本和特定地點分開我們的內部網絡和由最終用戶訪問(非軍事區,或DMZ)。
從delta.tables進口*deltaTable = DeltaTable.forName(火花,“fire.collateral_silver”)deltaTable.cloneAtVersion (approved_version,dmz_path,isShallow =假,取代=真正的)
spark.sql (“創建表。colleral_gold使用三角洲位置“{}”。格式(dmz_path))
雖然三角洲共享開放源代碼解決方案依賴於共享服務器的管理權限,磚利用統一目錄集中存儲和執行訪問控製策略,為用戶提供完整的審計日誌功能和簡化通過SQL接口訪問管理。在下麵的示例中,我們創建一個分享,包括我們的監管表和一個接收方分享我們的數據。
——定義我們的共享策略創建分享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;
任何監管機構或用戶授予權限可以使用個人的訪問令牌訪問底層數據交換通過這一過程。關於δ分享的更多信息,請訪問我們的產品頁麵,聯係你的磚的代表。
測試你的合規證明
通過這一係列的筆記本和δ表工作生活,我們演示了在攝入Lakehouse架構帶來的好處,處理、驗證和管理數據的傳輸。具體來說,我們需要解決組織,以確保一致性、完整性和及時性監管管道,可以很容易地通過使用一個公共數據模型(火)加上一個靈活的編排引擎(δ生活表)。與達美共享功能,我們終於證明FSIs如何給監管帶來完全透明和信心,各種管理係統之間的數據交換,同時滿足報告要求、降低操作成本和適應新標準。