nbsp;? Ces recherches utilisent des dictionnaires Python plut\u00f4t que des jointures de diffusion, \u00e9vitant ainsi la surcharge BroadcastExchange qui peut ajouter de la latence dans les pipelines de streaming.Notation : combine cinq signaux de fraude pond\u00e9r\u00e9s : v\u00e9locit\u00e9, anomalie g\u00e9ographique, \u00e9cart de montant, risque de cat\u00e9gorie de commer\u00e7ant et risque de pays, en un seul score de 0 \u00e0 100. Chaque signal est calcul\u00e9 par une UDF d\u00e9di\u00e9e, et les poids sont configurables. Le r\u00e9sultat est un score explicable : vous pouvez voir exactement quels signaux ont contribu\u00e9 et dans quelle mesure.Routage : prend la d\u00e9cision finale. Les transactions sont class\u00e9es comme approuv\u00e9es, signal\u00e9es pour examen manuel ou automatiquement bloqu\u00e9es, et \u00e9crites dans le sujet Kafka de sortie appropri\u00e9.Nous avons \u00e9galement effectu\u00e9 des tests de latence de bout en bout sur diff\u00e9rents niveaux de TPS. Les r\u00e9sultats ont montr\u00e9 des performances constantes, avec une latence P50 inf\u00e9rieure \u00e0 40 ms et une latence P99 comprise entre 215 et 392 ms. Ces r\u00e9sultats d\u00e9montrent qu'une architecture Kafka entrante, Kafka sortante utilisant RTM sur la plateforme Databricks peut offrir des performances \u00e0 faible latence et pr\u00eates pour la production sans d\u00e9pendre d'API externes ni d'infrastructure suppl\u00e9mentaire.\u00c9tape 3 : Mise \u00e0 niveau vers le Machine LearningLa d\u00e9tection de fraude bas\u00e9e sur des r\u00e8gles statiques cr\u00e9e des syst\u00e8mes auditables mais fragiles. Les seuils sont arbitraires : pourquoi cinq transactions en 60 secondes sont-elles \u00ab suspectes \u00bb ? Pourquoi pas quatre ou six ? Et comme il n'y a pas d'apprentissage, le syst\u00e8me ne s'am\u00e9liore jamais \u00e0 partir des d\u00e9cisions pass\u00e9es.Le notebook avanc\u00e9 met \u00e0 niveau cette logique vers un mod\u00e8le de machine learning gouvern\u00e9. Cette transition permet aux \u00e9quipes de gestion des risques de r\u00e9duire les faux positifs, de s'adapter aux mod\u00e8les de fraude \u00e9mergents et de d\u00e9montrer la lign\u00e9e des mod\u00e8les aux r\u00e9gulateurs gr\u00e2ce au suivi des exp\u00e9riences et au versionnement int\u00e9gr\u00e9s de MLflow. Cela introduit deux nouvelles capacit\u00e9s de plateforme :Lakebase comme couche de service en ligne.Lakebase est le service PostgreSQL g\u00e9r\u00e9 de Databricks. En utilisant le sink foreach de Spark Structured Streaming avec un LakebaseFeatureWriter personnalis\u00e9, le pipeline transmet en continu les caract\u00e9ristiques par carte, les mod\u00e8les de v\u00e9locit\u00e9, les montants moyens des transactions, la r\u00e9partition g\u00e9ographique, le tout directement dans les tables Lakebase avec s\u00e9mantique d'insertion/mise \u00e0 jour. Lakebase fournit des lectures sub-milliseconde, ce qui le rend id\u00e9al pour le service de caract\u00e9ristiques en temps r\u00e9el sans g\u00e9rer d'infrastructure externe.MLflow pour l'entra\u00eenement et le service de mod\u00e8les. Un classificateur RandomForest est entra\u00een\u00e9 sur des donn\u00e9es historiques \u00e9tiquet\u00e9es \u00e0 l'aide de MLflow pour le suivi des exp\u00e9riences et le versionnement des mod\u00e8les. Le mod\u00e8le entra\u00een\u00e9 est charg\u00e9 en tant qu'UDF Spark et appliqu\u00e9 \u00e0 chaque transaction dans le pipeline de streaming. Combin\u00e9 avec des caract\u00e9ristiques en direct de Lakebase, le mod\u00e8le apprend des relations non lin\u00e9aires entre les signaux que les r\u00e8gles statiques manquent, et s'am\u00e9liore au fil du temps \u00e0 mesure que de nouvelles donn\u00e9es \u00e9tiquet\u00e9es deviennent disponibles.\u00c9tape 4 : Surveillance de tout en temps r\u00e9elLa visibilit\u00e9 op\u00e9rationnelle est non n\u00e9gociable pour les \u00e9quipes de fraude soumises \u00e0 des obligations de reporting r\u00e9glementaire en temps r\u00e9el. Pour rendre le syst\u00e8me observable, l'acc\u00e9l\u00e9rateur comprend une application Databricks bas\u00e9e sur Streamlit qui lit directement \u00e0 partir de Lakebase pour fournir un tableau de bord de surveillance de la fraude en direct. Cela donne aux analystes de fraude et aux gestionnaires de risques une vue en direct et auditable de chaque d\u00e9cision prise par le syst\u00e8me, sans n\u00e9cessiter de support d'ing\u00e9nierie pour y acc\u00e9der. Les utilisateurs peuvent suivre le total des transactions not\u00e9es, les r\u00e9partitions des d\u00e9cisions (approuv\u00e9es, signal\u00e9es, bloqu\u00e9es), les scores de fraude r\u00e9cents avec des d\u00e9tails au niveau de la carte et les distributions de probabilit\u00e9 de fraude, le tout se rafra\u00eechissant automatiquement toutes les 10 secondes. C'est la couche op\u00e9rationnelle qui rend le syst\u00e8me utilisable en pratique, pas seulement techniquement fonctionnel.L'id\u00e9e cl\u00e9 est que tout s'ex\u00e9cute sur une seule plateforme. Le m\u00eame moteur Spark qui alimente votre ETL batch et votre entra\u00eenement ML g\u00e8re d\u00e9sormais le streaming sub-300 ms. Unity Catalog gouverne d\u00e9sormais vos tables de streaming et vos donn\u00e9es d'entra\u00eenement. MLflow suit d\u00e9sormais vos mod\u00e8les de fraude, qu'ils soient utilis\u00e9s dans l'inf\u00e9rence batch ou la notation en temps r\u00e9el. Il n'y a pas de lacune d'int\u00e9gration, pas de division de la gouvernance et pas de deuxi\u00e8me pile \u00e0 maintenir car tout est sur la m\u00eame plateforme.D\u00e9marrageCet acc\u00e9l\u00e9rateur de solution est con\u00e7u pour \u00eatre progressivement adaptable : commencez simplement et ajoutez de la complexit\u00e9 si n\u00e9cessaire.D\u00e9marrage rapide : Clonez le d\u00e9p\u00f4t, ouvrez `notebooks/RTM_00_Quick_Start.py` et ex\u00e9cutez-le sur un cluster configur\u00e9 pour fonctionner en mode temps r\u00e9el. Vous verrez RTM traiter des transactions synth\u00e9tiques avec une latence inf\u00e9rieure \u00e0 300 ms \u2014 pas de Kafka, pas de configuration externe requise.Pipeline complet : Configurez un p\u00e9rim\u00e8tre de secrets Kafka avec les adresses de votre broker, puis ex\u00e9cutez `notebooks/RTM_01_Introduction_fraud_detection.py`. Cela vous donne le pipeline complet d'analyse-enrichissement-notation-routage lisant et \u00e9crivant dans Kafka. Lors de l'ex\u00e9cution, vous verrez les transactions passer par les cinq \u00e9tapes et les d\u00e9cisions atterrir dans le sujet de sortie approuv\u00e9, signal\u00e9 et bloqu\u00e9. Cela vous donne le pipeline complet d'analyse-enrichissement-notation-routage lisant et \u00e9crivant dans Kafka.Notation bas\u00e9e sur le ML : Cr\u00e9ez une instance Lakebase, puis ex\u00e9cutez `notebooks/RTM_02_Advanced_fraud_detection_ml.py`. Cela ajoute le streaming de caract\u00e9ristiques \u00e0 Lakebase, l'entra\u00eenement de mod\u00e8les avec MLflow et la notation bas\u00e9e sur le ML dans le pipeline. Une fois termin\u00e9, MLflow enregistrera le mod\u00e8le entra\u00een\u00e9 et le pipeline commencera \u00e0 \u00e9mettre des scores de fraude d\u00e9riv\u00e9s du ML \u00e0 la place des poids bas\u00e9s sur des r\u00e8gles.Application de surveillance en direct : D\u00e9ployez l'application Streamlit \u00e0 partir de `apps/` en tant qu'applications Databricks avec une liaison de ressources Lakebase. L'application se connecte automatiquement et commence \u00e0 afficher les scores de fraude en direct.Le chemin le plus rapide est avec Declarative Automation Bundles \u2014 clonez, d\u00e9ployez et ex\u00e9cutez simplement :Le bundle provisionne automatiquement un cluster correctement configur\u00e9 et ex\u00e9cute tous les notebooks en s\u00e9quence.En savoir plus sur le mode temps r\u00e9elLe mode temps r\u00e9el est disponible en disponibilit\u00e9 g\u00e9n\u00e9rale sur Databricks sur AWS, Azure et GCP. L'acc\u00e9l\u00e9rateur de solution de d\u00e9tection de fraude est open-source et pr\u00eat \u00e0 \u00eatre d\u00e9ploy\u00e9.Obtenez l'acc\u00e9l\u00e9rateur de solution sur GitHubDocumentation du mode temps r\u00e9elAnnonce de la disponibilit\u00e9 g\u00e9n\u00e9rale du mode temps r\u00e9el(Cet article de blog a \u00e9t\u00e9 traduit \u00e0 l'aide d'outils bas\u00e9s sur l'intelligence artificielle) Article original", "headline": "Comment cr\u00e9er une d\u00e9tection de fraude en temps r\u00e9el \u00e0 l'aide du mode temps r\u00e9el Spark et de Lakebase", "image": [{"@type": "ImageObject", "@id": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase#BlogPosting_image_ImageObject", "url": "https://www.databricks.com/sites/default/files/2026-05/2026-05-blog-how-to-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase-og-1200x628-2x.png"}], "mainEntityOfPage": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase", "name": "Comment cr\u00e9er une d\u00e9tection de fraude en temps r\u00e9el \u00e0 l'aide du mode temps r\u00e9el Spark et de Lakebase", "articleSection": "Connexion\nServices financiers", "author": [{"@type": "Person", "@id": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase#Highlight-20250224200644452_0_BlogPosting_author_Person", "url": "https://www.databricks.com/fr/blog/author/sixuan-he", "name": "Sixuan He"}, {"@type": "Person", "@id": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase#Highlight-20250224200644452_1_BlogPosting_author_Person", "url": "https://www.databricks.com/fr/blog/author/navneeth-nair", "name": "Navneeth Nair"}], "mentions": [{"@type": "BreadcrumbList", "@id": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase#BlogPosting_mentions_BreadcrumbList", "itemListElement": [{"@type": "ListItem", "@id": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase#Highlight20260508174503550-32645_0_BlogPosting_mentions_BreadcrumbList_itemListElement_ListItem", "name": "Tous les blogs", "item": "https://www.databricks.com/fr/blog", "position": 1}, {"@type": "ListItem", "@id": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase#Highlight20260508174503550-32645_1_BlogPosting_mentions_BreadcrumbList_itemListElement_ListItem", "name": "Industries", "item": "https://www.databricks.com/fr/blog/category/industries", "position": 2}]}, {"name": "Apache Spark", "@id": "https://entity.schemaapp.com/DatabricksInc/CreativeWork_apachespark_5c8dd45dbca4e0e307dfd60fd118717da7b8685e7a2e0f8c1c76c42d24a27cf6", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/0ndhxqz", "http://www.wikidata.org/entity/Q7573619", "https://en.wikipedia.org/wiki/Apache_Spark"]}, {"name": "Apache Flink", "@id": "https://entity.schemaapp.com/DatabricksInc/CreativeWork_apacheflink_089dfb74252089343f033eedd2a306bca3841d4eac46c93d1d43cd15788c2735", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/g/11btzy2gtf", "http://www.wikidata.org/entity/Q20714460", "https://en.wikipedia.org/wiki/Apache_Flink"]}, {"name": "Nilson", "@id": "https://entity.schemaapp.com/DatabricksInc/Person_nilson_c6fcb5a369aba4ab647ade62d596b84e4e87460090bf3233910ef9377f02b4b8", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/03cpgvp", "http://www.wikidata.org/entity/Q837502", "https://en.wikipedia.org/wiki/Nilson_(footballer,_born_1975)"]}, {"name": "PostgreSQL", "@id": "https://entity.schemaapp.com/DatabricksInc/CreativeWork_postgresql_cacbe91ff6369b365452d159ab08e77257fdb9df1275c56f6cbb51ccdfd28fac", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/05ynw", "http://www.wikidata.org/entity/Q192490", "https://en.wikipedia.org/wiki/PostgreSQL"]}, {"name": "RTM", "@id": "https://entity.schemaapp.com/DatabricksInc/Organization_rtm_3d739b8291dbc1414633ec4bde880a8ff50eff4a13ecaf1ade5ab7e0e2032524", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/0rpg3tt", "http://www.wikidata.org/entity/Q3454986", "https://en.wikipedia.org/wiki/Transport_in_Marseille"]}, {"name": "Coinbase Global", "@id": "https://entity.schemaapp.com/DatabricksInc/Organization_coinbaseglobal_d1d8bef43c1fa996bb82d2c6e2e3772b05bd5bd3c73ade7ad002e562dfe8ddec", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": "http://www.wikidata.org/entity/Q16972754"}, {"name": "streaming media", "@id": "https://entity.schemaapp.com/DatabricksInc/Thing_streamingmedia_b38917a1716a1d532aab05f58391c6f77cb9498c7f0b1f1446addd80cd2970b6", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": "http://www.wikidata.org/entity/Q220499"}, {"name": "Salon-de-Provence", "@id": "https://entity.schemaapp.com/DatabricksInc/OrganizationPlace_salon-de-provence_33ffc8f3f2693b2ecd2d4031c243ef5441b7d1a573befaf58380a5ee560f5fc7", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/044w8v", "http://www.wikidata.org/entity/Q232567", "https://en.wikipedia.org/wiki/Salon-de-Provence"]}, {"name": "simplicity", "@id": "https://entity.schemaapp.com/DatabricksInc/Thing_simplicity_de78dbad31ac5b1d362c8cd8369a41269b3796cb9d4c7f3d288f1d2c730f970d", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": "http://www.wikidata.org/entity/Q508291"}, {"name": "Louisiana", "@id": "https://entity.schemaapp.com/DatabricksInc/Place_louisiana_94860511e3d9b10e30fd201ea4769e4e2a6d0883b4e022458a485ce5f7fa6f4f", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/04ly1", "http://www.wikidata.org/entity/Q1588", "https://en.wikipedia.org/wiki/Louisiana"]}, {"name": "United States", "@id": "https://entity.schemaapp.com/DatabricksInc/Country_unitedstates_35761fb7e035aa623e469abc3c609c0eebb9ce047778da1e53d49bf8709aa9c5", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/09c7w0", "http://www.wikidata.org/entity/Q30", "https://en.wikipedia.org/wiki/United_States"]}, {"name": "Illinois", "@id": "https://entity.schemaapp.com/DatabricksInc/Place_illinois_a6fecbbef6ed9e3bf9cba5603f9dcd6b938a6a585ca03ef8404ee984f2dcb367", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/03v0t", "http://www.wikidata.org/entity/Q1204", "https://en.wikipedia.org/wiki/Illinois"]}]}, {"@context": "http://schema.org", "@type": "Organization", "description": "The Databricks Platform is the world\u2019s first data intelligence platform powered by generative AI. Infuse AI into every facet of your business.", "name": "Databricks", "disambiguatingDescription": "Your data. Your AI. Your future. Own them all on the new data intelligence platform", "sameAs": ["kg:/m/0120wgnc", "https://www.wikidata.org/wiki/Q18350420", "https://en.wikipedia.org/wiki/Databricks", "https://twitter.com/databricks", "https://www.databricks.com/feed", "https://www.youtube.com/c/Databricks", "https://www.facebook.com/pages/Databricks/560203607379694", "https://www.linkedin.com/company/databricks", "https://www.glassdoor.com/Overview/Working-at-Databricks-EI_IE954734.11,21.htm"], "telephone": "+1-866-330-0121", "areaServed": "http://www.wikidata.org/entity/Q13780930", "legalName": "Databricks Inc.", "knowsLanguage": "en-US", "url": "https://www.databricks.com/", "additionalType": "https://www.wikidata.org/wiki/Q110029326", "logo": {"@type": "ImageObject", "width": "127", "height": "20", "url": "https://www.databricks.com/en-website-assets/static/8ed15a13c1511a75a4855999a2011c5c/f2f26/databricks-default.webp", "@id": "https://www.databricks.com/en-website-assets/static/8ed15a13c1511a75a4855999a2011c5c/f2f26/databricks-default.webp"}, "contactPoint": {"@type": "ContactPoint", "contactOption": "TollFree", "availableLanguage": "en-US", "contactType": "Contact", "telephone": "+1-866-330-0121", "name": "Databricks Contact", "@id": "https://www.databricks.com/#ContactPoint"}, "address": {"@type": "PostalAddress", "streetAddress": "160 Spear Street", "postalCode": "94105", "addressRegion": ["https://www.wikidata.org/wiki/Q99", "California"], "addressLocality": ["https://www.wikidata.org/wiki/Q62", "San Francisco"], "addressCountry": "http://www.wikidata.org/entity/Q30", "name": "Databricks Address", "@id": "https://www.databricks.com/#PostalAddress"}, "knowsAbout": [{"@type": "Thing", "sameAs": ["kg:/g/11khkg2rwf", "https://www.wikidata.org/wiki/Q117246174", "https://en.wikipedia.org/wiki/Generative_artificial_intelligence"], "name": "Generative AI", "@id": "https://www.databricks.com/#Thing"}, {"@type": "Thing", "sameAs": ["kg:/m/038_34", "https://en.wikipedia.org/wiki/Data_management", "https://www.wikidata.org/wiki/Q1149776"], "name": "data management", "@id": "https://www.databricks.com/#Thing1"}, {"@type": "Thing", "sameAs": ["kg:/m/0136zzks", "https://en.wikipedia.org/wiki/Data_lake", "https://www.wikidata.org/wiki/Q20707560"], "name": "data lake", "@id": "https://www.databricks.com/#Thing2"}, {"@type": "Thing", "sameAs": ["kg:/m/0h7m73m", "https://www.wikidata.org/wiki/Q2499178", "https://en.wikipedia.org/wiki/Cloud_database"], "name": "cloud database", "@id": "https://www.databricks.com/#Thing3"}, {"@type": "Thing", "sameAs": ["kg:/m/0mkz", "https://en.wikipedia.org/wiki/Artificial_intelligence", "https://www.wikidata.org/wiki/Q11660"], "name": "artificial intelligence", "@id": "https://www.databricks.com/#Thing4"}, {"@type": "Thing", "sameAs": ["kg:/m/01hyh", "https://www.wikidata.org/wiki/Q2539", "https://en.wikipedia.org/wiki/Machine_learning"], "name": "machine learning", "@id": "https://www.databricks.com/#Thing5"}], "image": {"@type": "ImageObject", "width": "1200", "height": "628", "url": "https://www.databricks.com/sites/default/files/2023-11/databricks-og-universal.png", "@id": "https://www.databricks.com/sites/default/files/2023-11/databricks-og-universal.png"}, "@id": "https://www.databricks.com/#Organization"}] nbsp;? Ces recherches utilisent des dictionnaires Python plut\u00f4t que des jointures de diffusion, \u00e9vitant ainsi la surcharge BroadcastExchange qui peut ajouter de la latence dans les pipelines de streaming.Notation : combine cinq signaux de fraude pond\u00e9r\u00e9s : v\u00e9locit\u00e9, anomalie g\u00e9ographique, \u00e9cart de montant, risque de cat\u00e9gorie de commer\u00e7ant et risque de pays, en un seul score de 0 \u00e0 100. Chaque signal est calcul\u00e9 par une UDF d\u00e9di\u00e9e, et les poids sont configurables. Le r\u00e9sultat est un score explicable : vous pouvez voir exactement quels signaux ont contribu\u00e9 et dans quelle mesure.Routage : prend la d\u00e9cision finale. Les transactions sont class\u00e9es comme approuv\u00e9es, signal\u00e9es pour examen manuel ou automatiquement bloqu\u00e9es, et \u00e9crites dans le sujet Kafka de sortie appropri\u00e9.Nous avons \u00e9galement effectu\u00e9 des tests de latence de bout en bout sur diff\u00e9rents niveaux de TPS. Les r\u00e9sultats ont montr\u00e9 des performances constantes, avec une latence P50 inf\u00e9rieure \u00e0 40 ms et une latence P99 comprise entre 215 et 392 ms. Ces r\u00e9sultats d\u00e9montrent qu'une architecture Kafka entrante, Kafka sortante utilisant RTM sur la plateforme Databricks peut offrir des performances \u00e0 faible latence et pr\u00eates pour la production sans d\u00e9pendre d'API externes ni d'infrastructure suppl\u00e9mentaire.\u00c9tape 3 : Mise \u00e0 niveau vers le Machine LearningLa d\u00e9tection de fraude bas\u00e9e sur des r\u00e8gles statiques cr\u00e9e des syst\u00e8mes auditables mais fragiles. Les seuils sont arbitraires : pourquoi cinq transactions en 60 secondes sont-elles \u00ab suspectes \u00bb ? Pourquoi pas quatre ou six ? Et comme il n'y a pas d'apprentissage, le syst\u00e8me ne s'am\u00e9liore jamais \u00e0 partir des d\u00e9cisions pass\u00e9es.Le notebook avanc\u00e9 met \u00e0 niveau cette logique vers un mod\u00e8le de machine learning gouvern\u00e9. Cette transition permet aux \u00e9quipes de gestion des risques de r\u00e9duire les faux positifs, de s'adapter aux mod\u00e8les de fraude \u00e9mergents et de d\u00e9montrer la lign\u00e9e des mod\u00e8les aux r\u00e9gulateurs gr\u00e2ce au suivi des exp\u00e9riences et au versionnement int\u00e9gr\u00e9s de MLflow. Cela introduit deux nouvelles capacit\u00e9s de plateforme :Lakebase comme couche de service en ligne.Lakebase est le service PostgreSQL g\u00e9r\u00e9 de Databricks. En utilisant le sink foreach de Spark Structured Streaming avec un LakebaseFeatureWriter personnalis\u00e9, le pipeline transmet en continu les caract\u00e9ristiques par carte, les mod\u00e8les de v\u00e9locit\u00e9, les montants moyens des transactions, la r\u00e9partition g\u00e9ographique, le tout directement dans les tables Lakebase avec s\u00e9mantique d'insertion/mise \u00e0 jour. Lakebase fournit des lectures sub-milliseconde, ce qui le rend id\u00e9al pour le service de caract\u00e9ristiques en temps r\u00e9el sans g\u00e9rer d'infrastructure externe.MLflow pour l'entra\u00eenement et le service de mod\u00e8les. Un classificateur RandomForest est entra\u00een\u00e9 sur des donn\u00e9es historiques \u00e9tiquet\u00e9es \u00e0 l'aide de MLflow pour le suivi des exp\u00e9riences et le versionnement des mod\u00e8les. Le mod\u00e8le entra\u00een\u00e9 est charg\u00e9 en tant qu'UDF Spark et appliqu\u00e9 \u00e0 chaque transaction dans le pipeline de streaming. Combin\u00e9 avec des caract\u00e9ristiques en direct de Lakebase, le mod\u00e8le apprend des relations non lin\u00e9aires entre les signaux que les r\u00e8gles statiques manquent, et s'am\u00e9liore au fil du temps \u00e0 mesure que de nouvelles donn\u00e9es \u00e9tiquet\u00e9es deviennent disponibles.\u00c9tape 4 : Surveillance de tout en temps r\u00e9elLa visibilit\u00e9 op\u00e9rationnelle est non n\u00e9gociable pour les \u00e9quipes de fraude soumises \u00e0 des obligations de reporting r\u00e9glementaire en temps r\u00e9el. Pour rendre le syst\u00e8me observable, l'acc\u00e9l\u00e9rateur comprend une application Databricks bas\u00e9e sur Streamlit qui lit directement \u00e0 partir de Lakebase pour fournir un tableau de bord de surveillance de la fraude en direct. Cela donne aux analystes de fraude et aux gestionnaires de risques une vue en direct et auditable de chaque d\u00e9cision prise par le syst\u00e8me, sans n\u00e9cessiter de support d'ing\u00e9nierie pour y acc\u00e9der. Les utilisateurs peuvent suivre le total des transactions not\u00e9es, les r\u00e9partitions des d\u00e9cisions (approuv\u00e9es, signal\u00e9es, bloqu\u00e9es), les scores de fraude r\u00e9cents avec des d\u00e9tails au niveau de la carte et les distributions de probabilit\u00e9 de fraude, le tout se rafra\u00eechissant automatiquement toutes les 10 secondes. C'est la couche op\u00e9rationnelle qui rend le syst\u00e8me utilisable en pratique, pas seulement techniquement fonctionnel.L'id\u00e9e cl\u00e9 est que tout s'ex\u00e9cute sur une seule plateforme. Le m\u00eame moteur Spark qui alimente votre ETL batch et votre entra\u00eenement ML g\u00e8re d\u00e9sormais le streaming sub-300 ms. Unity Catalog gouverne d\u00e9sormais vos tables de streaming et vos donn\u00e9es d'entra\u00eenement. MLflow suit d\u00e9sormais vos mod\u00e8les de fraude, qu'ils soient utilis\u00e9s dans l'inf\u00e9rence batch ou la notation en temps r\u00e9el. Il n'y a pas de lacune d'int\u00e9gration, pas de division de la gouvernance et pas de deuxi\u00e8me pile \u00e0 maintenir car tout est sur la m\u00eame plateforme.D\u00e9marrageCet acc\u00e9l\u00e9rateur de solution est con\u00e7u pour \u00eatre progressivement adaptable : commencez simplement et ajoutez de la complexit\u00e9 si n\u00e9cessaire.D\u00e9marrage rapide : Clonez le d\u00e9p\u00f4t, ouvrez `notebooks/RTM_00_Quick_Start.py` et ex\u00e9cutez-le sur un cluster configur\u00e9 pour fonctionner en mode temps r\u00e9el. Vous verrez RTM traiter des transactions synth\u00e9tiques avec une latence inf\u00e9rieure \u00e0 300 ms \u2014 pas de Kafka, pas de configuration externe requise.Pipeline complet : Configurez un p\u00e9rim\u00e8tre de secrets Kafka avec les adresses de votre broker, puis ex\u00e9cutez `notebooks/RTM_01_Introduction_fraud_detection.py`. Cela vous donne le pipeline complet d'analyse-enrichissement-notation-routage lisant et \u00e9crivant dans Kafka. Lors de l'ex\u00e9cution, vous verrez les transactions passer par les cinq \u00e9tapes et les d\u00e9cisions atterrir dans le sujet de sortie approuv\u00e9, signal\u00e9 et bloqu\u00e9. Cela vous donne le pipeline complet d'analyse-enrichissement-notation-routage lisant et \u00e9crivant dans Kafka.Notation bas\u00e9e sur le ML : Cr\u00e9ez une instance Lakebase, puis ex\u00e9cutez `notebooks/RTM_02_Advanced_fraud_detection_ml.py`. Cela ajoute le streaming de caract\u00e9ristiques \u00e0 Lakebase, l'entra\u00eenement de mod\u00e8les avec MLflow et la notation bas\u00e9e sur le ML dans le pipeline. Une fois termin\u00e9, MLflow enregistrera le mod\u00e8le entra\u00een\u00e9 et le pipeline commencera \u00e0 \u00e9mettre des scores de fraude d\u00e9riv\u00e9s du ML \u00e0 la place des poids bas\u00e9s sur des r\u00e8gles.Application de surveillance en direct : D\u00e9ployez l'application Streamlit \u00e0 partir de `apps/` en tant qu'applications Databricks avec une liaison de ressources Lakebase. L'application se connecte automatiquement et commence \u00e0 afficher les scores de fraude en direct.Le chemin le plus rapide est avec Declarative Automation Bundles \u2014 clonez, d\u00e9ployez et ex\u00e9cutez simplement :bashgit clone https://github.com/databricks-industry-solutions/rtm-fraud-detection.git\ncd rtm-fraud-detection\ndatabricks bundle deploy\ndatabricks bundle run rtm_fraud_detection_workflowLe bundle provisionne automatiquement un cluster correctement configur\u00e9 et ex\u00e9cute tous les notebooks en s\u00e9quence.En savoir plus sur le mode temps r\u00e9elLe mode temps r\u00e9el est disponible en disponibilit\u00e9 g\u00e9n\u00e9rale sur Databricks sur AWS, Azure et GCP. L'acc\u00e9l\u00e9rateur de solution de d\u00e9tection de fraude est open-source et pr\u00eat \u00e0 \u00eatre d\u00e9ploy\u00e9.Obtenez l'acc\u00e9l\u00e9rateur de solution sur GitHubDocumentation du mode temps r\u00e9elAnnonce de la disponibilit\u00e9 g\u00e9n\u00e9rale du mode temps r\u00e9el(Cet article de blog a \u00e9t\u00e9 traduit \u00e0 l'aide d'outils bas\u00e9s sur l'intelligence artificielle) Article original", "description": "La fraude par carte", "headline": "Comment cr\u00e9er une d\u00e9tection de fraude en temps r\u00e9el \u00e0 l'aide du mode temps r\u00e9el Spark et de Lakebase", "mainEntityOfPage": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase", "image": [{"@type": "ImageObject", "@id": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase#BlogPosting_image_ImageObject", "url": "https://www.databricks.com/sites/default/files/2026-05/2026-05-blog-how-to-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase-og-1200x628-2x.png"}], "mentions": [{"@type": "BreadcrumbList", "@id": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase#BlogPosting_mentions_BreadcrumbList", "itemListElement": [{"@type": "ListItem", "@id": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase#Highlight20260508174503550-32645_0_BlogPosting_mentions_BreadcrumbList_itemListElement_ListItem", "item": "https://www.databricks.com/fr/blog", "name": "Tous les blogs", "position": 1}, {"@type": "ListItem", "@id": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase#Highlight20260508174503550-32645_1_BlogPosting_mentions_BreadcrumbList_itemListElement_ListItem", "item": "https://www.databricks.com/fr/blog/category/industries", "name": "Industries", "position": 2}]}, {"name": "Apache Spark", "@id": "https://entity.schemaapp.com/DatabricksInc/CreativeWork_apachespark_5c8dd45dbca4e0e307dfd60fd118717da7b8685e7a2e0f8c1c76c42d24a27cf6", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/0ndhxqz", "http://www.wikidata.org/entity/Q7573619", "https://en.wikipedia.org/wiki/Apache_Spark"]}, {"name": "Apache Flink", "@id": "https://entity.schemaapp.com/DatabricksInc/CreativeWork_apacheflink_089dfb74252089343f033eedd2a306bca3841d4eac46c93d1d43cd15788c2735", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/g/11btzy2gtf", "http://www.wikidata.org/entity/Q20714460", "https://en.wikipedia.org/wiki/Apache_Flink"]}, {"name": "Nilson", "@id": "https://entity.schemaapp.com/DatabricksInc/Person_nilson_c6fcb5a369aba4ab647ade62d596b84e4e87460090bf3233910ef9377f02b4b8", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/03cpgvp", "http://www.wikidata.org/entity/Q837502", "https://en.wikipedia.org/wiki/Nilson_(footballer,_born_1975)"]}, {"name": "PostgreSQL", "@id": "https://entity.schemaapp.com/DatabricksInc/CreativeWork_postgresql_cacbe91ff6369b365452d159ab08e77257fdb9df1275c56f6cbb51ccdfd28fac", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/05ynw", "http://www.wikidata.org/entity/Q192490", "https://en.wikipedia.org/wiki/PostgreSQL"]}, {"name": "RTM", "@id": "https://entity.schemaapp.com/DatabricksInc/Organization_rtm_3d739b8291dbc1414633ec4bde880a8ff50eff4a13ecaf1ade5ab7e0e2032524", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/0rpg3tt", "http://www.wikidata.org/entity/Q3454986", "https://en.wikipedia.org/wiki/Transport_in_Marseille"]}, {"name": "Coinbase Global", "@id": "https://entity.schemaapp.com/DatabricksInc/Organization_coinbaseglobal_d1d8bef43c1fa996bb82d2c6e2e3772b05bd5bd3c73ade7ad002e562dfe8ddec", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": "http://www.wikidata.org/entity/Q16972754"}, {"name": "streaming media", "@id": "https://entity.schemaapp.com/DatabricksInc/Thing_streamingmedia_b38917a1716a1d532aab05f58391c6f77cb9498c7f0b1f1446addd80cd2970b6", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": "http://www.wikidata.org/entity/Q220499"}, {"name": "Salon-de-Provence", "@id": "https://entity.schemaapp.com/DatabricksInc/OrganizationPlace_salon-de-provence_33ffc8f3f2693b2ecd2d4031c243ef5441b7d1a573befaf58380a5ee560f5fc7", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/044w8v", "http://www.wikidata.org/entity/Q232567", "https://en.wikipedia.org/wiki/Salon-de-Provence"]}, {"name": "simplicity", "@id": "https://entity.schemaapp.com/DatabricksInc/Thing_simplicity_de78dbad31ac5b1d362c8cd8369a41269b3796cb9d4c7f3d288f1d2c730f970d", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": "http://www.wikidata.org/entity/Q508291"}, {"name": "Louisiana", "@id": "https://entity.schemaapp.com/DatabricksInc/Place_louisiana_94860511e3d9b10e30fd201ea4769e4e2a6d0883b4e022458a485ce5f7fa6f4f", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/04ly1", "http://www.wikidata.org/entity/Q1588", "https://en.wikipedia.org/wiki/Louisiana"]}, {"name": "United States", "@id": "https://entity.schemaapp.com/DatabricksInc/Country_unitedstates_35761fb7e035aa623e469abc3c609c0eebb9ce047778da1e53d49bf8709aa9c5", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/09c7w0", "http://www.wikidata.org/entity/Q30", "https://en.wikipedia.org/wiki/United_States"]}, {"name": "Illinois", "@id": "https://entity.schemaapp.com/DatabricksInc/Place_illinois_a6fecbbef6ed9e3bf9cba5603f9dcd6b938a6a585ca03ef8404ee984f2dcb367", "@type": "Thing", "@context": {"@vocab": "http://schema.org/"}, "sameAs": ["http://g.co/kg/m/03v0t", "http://www.wikidata.org/entity/Q1204", "https://en.wikipedia.org/wiki/Illinois"]}], "articleSection": "Connexion\nServices financiers", "author": [{"@type": "Person", "@id": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase#Highlight-20250224200644452_0_BlogPosting_author_Person", "url": "https://www.databricks.com/fr/blog/author/sixuan-he", "name": "Sixuan He"}, {"@type": "Person", "@id": "https://www.databricks.com/fr/blog/how-build-real-time-fraud-detection-using-spark-real-time-mode-and-lakebase#Highlight-20250224200644452_1_BlogPosting_author_Person", "url": "https://www.databricks.com/fr/blog/author/navneeth-nair", "name": "Navneeth Nair"}]}, {"@context": "http://schema.org", "@type": "Organization", "description": "The Databricks Platform is the world\u2019s first data intelligence platform powered by generative AI. Infuse AI into every facet of your business.", "name": "Databricks", "disambiguatingDescription": "Your data. Your AI. Your future. Own them all on the new data intelligence platform", "sameAs": ["kg:/m/0120wgnc", "https://www.wikidata.org/wiki/Q18350420", "https://en.wikipedia.org/wiki/Databricks", "https://twitter.com/databricks", "https://www.databricks.com/feed", "https://www.youtube.com/c/Databricks", "https://www.facebook.com/pages/Databricks/560203607379694", "https://www.linkedin.com/company/databricks", "https://www.glassdoor.com/Overview/Working-at-Databricks-EI_IE954734.11,21.htm"], "telephone": "+1-866-330-0121", "areaServed": "http://www.wikidata.org/entity/Q13780930", "legalName": "Databricks Inc.", "knowsLanguage": "en-US", "url": "https://www.databricks.com/", "additionalType": "https://www.wikidata.org/wiki/Q110029326", "logo": {"@type": "ImageObject", "width": "127", "height": "20", "url": "https://www.databricks.com/en-website-assets/static/8ed15a13c1511a75a4855999a2011c5c/f2f26/databricks-default.webp", "@id": "https://www.databricks.com/en-website-assets/static/8ed15a13c1511a75a4855999a2011c5c/f2f26/databricks-default.webp"}, "contactPoint": {"@type": "ContactPoint", "contactOption": "TollFree", "availableLanguage": "en-US", "contactType": "Contact", "telephone": "+1-866-330-0121", "name": "Databricks Contact", "@id": "https://www.databricks.com/#ContactPoint"}, "address": {"@type": "PostalAddress", "streetAddress": "160 Spear Street", "postalCode": "94105", "addressRegion": ["https://www.wikidata.org/wiki/Q99", "California"], "addressLocality": ["https://www.wikidata.org/wiki/Q62", "San Francisco"], "addressCountry": "http://www.wikidata.org/entity/Q30", "name": "Databricks Address", "@id": "https://www.databricks.com/#PostalAddress"}, "knowsAbout": [{"@type": "Thing", "sameAs": ["kg:/g/11khkg2rwf", "https://www.wikidata.org/wiki/Q117246174", "https://en.wikipedia.org/wiki/Generative_artificial_intelligence"], "name": "Generative AI", "@id": "https://www.databricks.com/#Thing"}, {"@type": "Thing", "sameAs": ["kg:/m/038_34", "https://en.wikipedia.org/wiki/Data_management", "https://www.wikidata.org/wiki/Q1149776"], "name": "data management", "@id": "https://www.databricks.com/#Thing1"}, {"@type": "Thing", "sameAs": ["kg:/m/0136zzks", "https://en.wikipedia.org/wiki/Data_lake", "https://www.wikidata.org/wiki/Q20707560"], "name": "data lake", "@id": "https://www.databricks.com/#Thing2"}, {"@type": "Thing", "sameAs": ["kg:/m/0h7m73m", "https://www.wikidata.org/wiki/Q2499178", "https://en.wikipedia.org/wiki/Cloud_database"], "name": "cloud database", "@id": "https://www.databricks.com/#Thing3"}, {"@type": "Thing", "sameAs": ["kg:/m/0mkz", "https://en.wikipedia.org/wiki/Artificial_intelligence", "https://www.wikidata.org/wiki/Q11660"], "name": "artificial intelligence", "@id": "https://www.databricks.com/#Thing4"}, {"@type": "Thing", "sameAs": ["kg:/m/01hyh", "https://www.wikidata.org/wiki/Q2539", "https://en.wikipedia.org/wiki/Machine_learning"], "name": "machine learning", "@id": "https://www.databricks.com/#Thing5"}], "image": {"@type": "ImageObject", "width": "1200", "height": "628", "url": "https://www.databricks.com/sites/default/files/2023-11/databricks-og-universal.png", "@id": "https://www.databricks.com/sites/default/files/2023-11/databricks-og-universal.png"}, "@id": "https://www.databricks.com/#Organization"}]
Modernisation des écosystèmes financiers avec une latence inférieure à la seconde et une intelligence de données évolutive
par Sixuan He et Navneeth Nair
La fraude par carte bancaire se produit en quelques secondes. Un numéro de carte de crédit volé peut financer des dizaines d'achats en quelques minutes, et une fois qu'une transaction est réglée, il devient exponentiellement plus difficile de récupérer ces fonds. Selon le Nilson Report, les institutions financières perdent environ 33 milliards de dollars par an à cause des transactions frauduleuses par carte, et ce chiffre ne fera qu'augmenter avec l'accélération du volume des transactions numériques.
Le défi n'est pas de détecter la fraude. La plupart des organisations disposent déjà de modèles de fraude performants et de règles bien ajustées. Le défi est de la détecter assez rapidement pour bloquer une transaction suspecte avant qu'elle ne soit validée, dans la fenêtre de moins d'une seconde entre l'autorisation et le règlement, et ce, sans ajouter un moteur de streaming séparé et spécialisé qui double votre complexité opérationnelle.
Dans ce blog, nous présentons un nouvel accélérateur de solution : une implémentation de référence open source que vous pouvez cloner et déployer directement dans votre environnement Databricks. Il démontre comment construire un système complet de détection de fraude de bout en bout, de l'ingestion des transactions brutes et du scoring ML en temps réel à un tableau de bord de surveillance en direct construit avec Databricks Apps, entièrement sur la plateforme Databricks. À son cœur se trouvent deux technologies : le mode temps réel (RTM) pour Apache Spark Structured Streaming sur Databricks qui offre un traitement de flux inférieur à 300 ms, et Lakebase, une base de données Postgres entièrement gérée et sans serveur, intégrée à la plateforme Databricks.
La détection de fraude se situe à l'intersection de deux exigences contradictoires.
D'un côté, il y a la vitesse. Une transaction frauduleuse doit être identifiée et bloquée en quelques centaines de millisecondes avant d'être réglée. Les réseaux de fraude sophistiqués testent les cartes volées avec des micro-achats rapides, exploitent les anomalies géographiques et adaptent leurs modèles plus rapidement que les règles statiques ne peuvent suivre.
De l'autre côté, il y a la simplicité. Les équipes de données souhaitent construire, entraîner et déployer des modèles de fraude sur une seule plateforme, avec une gouvernance unifiée, des données partagées et un ensemble d'outils. Elles ne veulent pas maintenir une pile de streaming séparée juste pour la "dernière étape" du scoring en temps réel.
Jusqu'à présent, les équipes ont été obligées de choisir. Historiquement, répondre à ces exigences de latence ultra-faible signifiait introduire un moteur spécialisé à côté de Spark, tel qu'Apache Flink. Le résultat est un schéma familier : deux systèmes parallèles, des données dupliquées, une gouvernance divisée, et des équipes d'ingénierie passant plus de temps à gérer les pipelines au lieu d'améliorer les modèles de fraude. Avec l'introduction du RTM dans Spark Structured Streaming, ce compromis n'est plus nécessaire.
RTM est une évolution du moteur Spark Structured Streaming qui permet le traitement des données en moins d'une seconde pour les applications opérationnelles sensibles à la latence telles que l'ingénierie des caractéristiques.
Côté vitesse, RTM traite les événements en millisecondes et est jusqu'à 92 % plus rapide qu'Apache Flink pour les transformations sans état, l'enrichissement basé sur les jointures et les charges de travail d'agrégation. Des clients tels que Coinbase utilisent déjà RTM pour calculer plus de 250 caractéristiques ML, et ont atteint des latences de traitement P99 inférieures à 100 ms.
Côté simplicité, RTM réside à l'intérieur du moteur Spark que vous exécutez déjà, pas à côté. Par conséquent, vous bénéficierez immédiatement de :
En conséquence, l'équipe n'a plus besoin de choisir ; vous bénéficiez à la fois de la vitesse et de la simplicité, et les heures d'ingénierie sont consacrées à l'ajustement des signaux de fraude plutôt qu'à la gestion de l'infrastructure.
Pour rendre cela concret, notre accélérateur de solution met en œuvre un système de détection de fraude en temps réel pour les transactions par carte de crédit. Voici le scénario :
Les transactions arrivent en flux d'un système de messagerie (Kafka, Kinesis, etc.). Chaque transaction contient un identifiant de carte, un montant, une catégorie de marchand, des coordonnées géographiques et un canal (en ligne ou point de vente). Le système doit évaluer chaque transaction par rapport à plusieurs signaux de fraude, attribuer un score de risque et la router vers le résultat approprié — approuvé, signalé pour examen, ou bloqué — le tout en moins de 300 ms.
L'architecture reflète l'apparence des systèmes de fraude en production dans les grandes institutions financières, avec un suivi d'état, un enrichissement des caractéristiques à partir de Lakebase en tant que couche de service en ligne, un scoring ML, et une application Databricks Apps en direct pour la surveillance des analystes de fraude. La différence est qu'elle s'exécute entièrement sur une seule plateforme.

L'accélérateur passe par quatre étapes progressives, chacune s'appuyant sur la précédente. Voici le diagramme d'architecture système de haut niveau. Il montre le flux de données propre à travers les quatre composants principaux :
Découvrez la vidéo de démonstration complète de bout en bout ci-dessous, ou continuez à lire étape par étape pour savoir exactement comment nous l'avons construite. Commencez par le démarrage rapide ci-dessous (sans dépendances externes) et ajoutez de la complexité au fur et à mesure.
Pour les institutions financières évaluant l'infrastructure de détection de fraude en temps réel, le temps de mise en valeur rapide est essentiel. Le notebook de démarrage rapide permet à votre équipe de découvrir immédiatement le mode temps réel, et de valider les benchmarks de latence de base et l'adéquation de la plateforme en moins de cinq minutes, avant tout engagement de production. Aucune connexion à Kafka ni configuration externe n'est nécessaire. Il génère des transactions synthétiques à l'aide de la source de taux intégrée de Spark, applique la logique de scoring de fraude et affiche les résultats en direct dans le notebook. C'est votre "hello world" pour le mode temps réel. Exécutez-le, regardez les chiffres de latence et validez que votre cluster est correctement configuré.
Une fois le mode temps réel validé, le notebook suivant construit un pipeline de détection de fraude de qualité production qui reflète la manière dont les principales institutions financières (FSIs) opérationnalisent la prise de décision en temps réel pour la fraude. Il traite les transactions de bout en bout, fournissant le scoring explicable requis par les équipes d'opérations de fraude et de conformité. Les transactions circulent de Kafka à travers cinq étapes, chacune fonctionnant en continu, chacune ajoutant de l'intelligence :

Nous avons également effectué des tests de latence de bout en bout sur différents niveaux de TPS. Les résultats ont montré des performances constantes, avec une latence P50 inférieure à 40 ms et une latence P99 comprise entre 215 et 392 ms. Ces résultats démontrent qu'une architecture Kafka entrante, Kafka sortante utilisant RTM sur la plateforme Databricks peut offrir des performances à faible latence et prêtes pour la production sans dépendre d'API externes ni d'infrastructure supplémentaire.

La détection de fraude basée sur des règles statiques crée des systèmes auditables mais fragiles. Les seuils sont arbitraires : pourquoi cinq transactions en 60 secondes sont-elles « suspectes » ? Pourquoi pas quatre ou six ? Et comme il n'y a pas d'apprentissage, le système ne s'améliore jamais à partir des décisions passées.
Le notebook avancé met à niveau cette logique vers un modèle de machine learning gouverné. Cette transition permet aux équipes de gestion des risques de réduire les faux positifs, de s'adapter aux modèles de fraude émergents et de démontrer la lignée des modèles aux régulateurs grâce au suivi des expériences et au versionnement intégrés de MLflow. Cela introduit deux nouvelles capacités de plateforme :

La visibilité opérationnelle est non négociable pour les équipes de fraude soumises à des obligations de reporting réglementaire en temps réel. Pour rendre le système observable, l'accélérateur comprend une application Databricks basée sur Streamlit qui lit directement à partir de Lakebase pour fournir un tableau de bord de surveillance de la fraude en direct. Cela donne aux analystes de fraude et aux gestionnaires de risques une vue en direct et auditable de chaque décision prise par le système, sans nécessiter de support d'ingénierie pour y accéder. Les utilisateurs peuvent suivre le total des transactions notées, les répartitions des décisions (approuvées, signalées, bloquées), les scores de fraude récents avec des détails au niveau de la carte et les distributions de probabilité de fraude, le tout se rafraîchissant automatiquement toutes les 10 secondes. C'est la couche opérationnelle qui rend le système utilisable en pratique, pas seulement techniquement fonctionnel.

L'idée clé est que tout s'exécute sur une seule plateforme. Le même moteur Spark qui alimente votre ETL batch et votre entraînement ML gère désormais le streaming sub-300 ms. Unity Catalog gouverne désormais vos tables de streaming et vos données d'entraînement. MLflow suit désormais vos modèles de fraude, qu'ils soient utilisés dans l'inférence batch ou la notation en temps réel. Il n'y a pas de lacune d'intégration, pas de division de la gouvernance et pas de deuxième pile à maintenir car tout est sur la même plateforme.
Cet accélérateur de solution est conçu pour être progressivement adaptable : commencez simplement et ajoutez de la complexité si nécessaire.
Le chemin le plus rapide est avec Declarative Automation Bundles — clonez, déployez et exécutez simplement :
Le bundle provisionne automatiquement un cluster correctement configuré et exécute tous les notebooks en séquence.
Le mode temps réel est disponible en disponibilité générale sur Databricks sur AWS, Azure et GCP. L'accélérateur de solution de détection de fraude est open-source et prêt à être déployé.
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.