Apache SeaTunnel在世界级银行巨头JP Morgan 内部的应用实践

作者系 JP Morgan 大数据工程师,文章内容来源于[DET 网络研讨会] 与 Apache SeaTunnel 的数据集成:https://www.youtube.com/watch?v=ln4mn6vLenc(有兴趣的同学可以观看演讲)

文章介绍了他任职期间使用 Apache SeaTunnel 优化数据操作,利用其与 Spark 集群的无缝集成,从 PostgreSQL、DynamoDB 等源摄取数据并加载至 S3。

SeaTunnel 提供的数据类型转换功能确保数据完整性,JP Morgan 计划进一步探索 Zeta 和 Flink 集群,扩展数据源,并贡献于 SeaTunnel 社区。

背景

摩根大通(JP Morgan)银行是一家拥有超过 200,000 名员工的金融巨头,其中包括 30,000 多名数据专业人员(工程师、分析师、科学家和顾问),正在与复杂的遗留系统和新兴的数据环境作斗争。

file

这个世界级银行巨头在 10 多个不同的数据平台组成的迷宫中运营,迫切需要一种强大、安全且高效的数据集成方法。

挑战

对摩根大通银行来说,主要挑战在于导航复杂的隐私和访问控制网络,尽管这些控制对数据保护至关重要,但往往会延迟数据摄取过程。

file

再加上公司向 AWS 的过渡阶段,尽管已经进行了两年,但仍在进行中,同时还在试验像 Snowflake 这样的现代数据库解决方案,显而易见,迫切需要一个灵活的数据集成解决方案。

寻求解决方案

在追求敏捷性的过程中,摩根大通银行评估了几种选择。其一是Fivetran ,一种流行的云服务,尽管效率很高,但针对数据量收费的费用很高,而且对新增数据源类型的支持较慢,使得试用陷入困境。

其二考虑了Airbyte,尽管 Airbyte 具有开源魅力,但由于它没有使用 Spark 或 Flink 等强大的数据处理引擎,因此在可扩展性方面存在不足。这就需要一种可以利用我们的 Spark 集群来实现最佳性能的替代方案。

SeaTunnel:游戏规则改变者

摩根大通银行发现了Apache SeaTunnel:一种与现有的Spark基础设施兼容的开源商业化的多功能数据集成工具。一个关键优势是它与Java代码库的无缝集成,允许从摩根大通银行的主要编码环境直接触发数据迁移作业。

架构与实施

SeaTunnel的数据架构简单而强大。摩根大通银行利用 SeaTunnel从 Oracle、DB2、PostgreSQL、DynamoDB 和 SFTP 文件等源获取数据,在 Spark 集群上处理数据,并最终将其加载到 S3(摩根大通银行的集中式数据存储库)中。随后集成到 Snowflake 和 Amazon Athena 进行高级分析。

file

Apache SeaTunnel的一个突出功能是它能够显式处理数据类型转换,确保不同系统之间的数据完整性——这是摩根大通银行多元化数据生态系统的重要组成部分。

未来路线图

展望未来,摩根大通银行的目标是减少延迟,并探索 SeaTunnel的Zeta引擎和Flink 集群等引擎在推荐和搜索等实时用例中的潜力。此外,摩根大通银行计划与Apache 一起扩展数据源库,将 Kafka 和 AWS SQS 合并到SeaTunnel框架中。

结论

在不断发展的数据环境中,Apache SeaTunnel已成为摩根大通银行数据战略的关键组件,证明了其作为可扩展、Java 友好的数据集成工具的价值。

本文由 白鲸开源科技 提供发布支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/12007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基础模型的工具学习:综述

23年6月清华、人大、UIUC、纽约大学、北邮和CMU等的论文“Tool Learning with Foundation Models”。 人类拥有创造和利用工具的非凡能力,使他们能够克服物理限制并探索新领域。随着最近强大的基础模型的出现,人工智能系统有可能像人类一样熟练地使用工…

[C/C++] -- 海量数据查重

例如:50亿int整型数,以及一台可用内存为400M的机器,时间复杂度要求O(n),统计只出现一次的数。 需要一种能够在满足 O(n) 时间复杂度要求的同时,使用尽可能少的内存来解决问题。 在处理海量数据时,分治思想…

【Keil备忘录】Keil MDK Warning: L6989W 数学计算函数警告问题

文章目录 1. 发生的场景2. 警告内容3.警告含义4.警告屏蔽解决尝试5. 警告消除解决尝试 1. 发生的场景 stm32L4系列使用数学库时遇到 2. 警告内容 Warning: L6989W: Could not apply patch sdcomp-29491-629360 to instruction VPOP {d8-d13} at offset 0x54, instructio…

浏览器curl请求快速转换为python request 请求

Python 中的 requests 库将浏览器复制的 cURL 命令转换为请求对象。下面是一个示例: import requestscurl_command """curl -X GET \http://example.com/api/data \-H Content-Type: application/json \-H Cookie: udide9ceb2bb9a6bebb401fcddf5c9…

实践指南:如何将 SpringBoot 项目无缝部署到 Tomcat 服务器

序言 SpringBoot 是一个用来简化 Spring 应用初始搭建以及开发过程的框架,我们可以通过内置的 Tomcat 容器来轻松地运行我们的应用。但在生产环境中,我们可能需要将应用部署到独立的 Tomcat 服务器上。本文给大家介绍 SpringBoot 项目部署到独立 Tomcat…

2024速通python之python进阶

文章目录 一、数据容器1.list列表(1)定义(2)常用方法 2.元组(1)定义 3.字符串常用操作汇总(1)根据下标索引取出特定位置字符(2)查找给定字符的第一个匹配项的…

三:哈希map day6 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和

今日任务 ● 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数 ● 1. 两数之和 今日任务 242.有效的字母异位词 题目 大型概括:map 的使用 1.题目描述-->思路: 给出两个string s,t; …

Android Update Engine 分析(二十九)如何进行连续多个版本的升级?

本文为洛奇看世界(guyongqiangx)原创,转载请注明出处。 原文链接:https://blog.csdn.net/guyongqiangx/article/details/138849767 0. 背景 关于如何连续进行多个版本升级,这是一个很常见的需求,也是 OTA 讨论群里试不试就会讨论的一个话题。 例如,昨天一个小伙伴在群里…

a-auto-complete 请求后端数据做模糊查询,解决下拉框选择选不上,不回显的问题

a-auto-complete 请求后端数据做模糊查询,解决下拉框选择选不上,不回显的问题 记录一个a-auto-complete卡bug卡了两天,找不到哪里的问题下拉框选择选不上,不回显,最后终于解决了。 我还对下拉框显示的内容做了小调整。…

MYSQL数据库默认的系统库详解

文章目录 [TOC](文章目录) MYSQL数据库默认的系统库详解1、information_schema(数据库)2、mysql3、performance_schema (性能库)4、sys MYSQL数据库默认的系统库详解 1、information_schema(数据库) 1、记录了用户、表、视图等元数据信息。这个库是虚拟…

越来越真的Deepfake再次引起网安界的关注

当地时间5月6日,全球网络安全领域最受关注的年度盛会 RSAC 2024在美国旧金山隆重开幕。当天,被誉为“安全圈奥斯卡”的创新沙盒大赛也决出了冠军,Reality Defender凭借其创新性的深度伪造(Deepfake)检测平台摘得桂冠&a…

【漏洞复现】泛微OA E-Cology users.data信息泄露漏洞

漏洞描述: 泛微OA E-Cology是一款面向中大型组织的数字化办公产品,它基于全新的设计理念和管理思想,旨在为中大型组织创建一个全新的高效协同办公环境。泛微OA E-Cology users.data存在敏感信息泄露漏洞,攻击者利用此漏洞可以获取…

Excel 根据包含的关键词将指定列按关键词指定顺序排列

例题描述和简单分析 有 Excel 文件,数据如下所示: AB1Parent ColumnModifier (Column)2Jack lives in the villageRose3As mentioned by jackVillage4Rose already spoke to jack about last nightJack5Rose left the village6rose was their yesterda…

DigitalOcean 应用托管更新:应用端到端运行时性能大幅改进

DigitalOcean 希望可以为企业提供所需的工具和基础设施,以帮助企业客户加速云端的开发,实现业务的指数级增长。为此 DigitalOcean 在 2020 年就推出了App Platform。 App Platform(应用托管) 是一个完全托管的 PaaS 解决方案&…

ubuntu下使用docker安装kafka

1.先安装zookeeper docker run -d --restartalways -e ALLOW_ANONYMOUS_LOGINyes --log-driver json-file --log-opt max-size100m --log-opt max-file2 --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime bitnami/zookeeper:latest 2.安装kafka docker run…

Docker 的 Ubuntu 操作系统镜像

Debian 和 Ubuntu 都是目前较为流行的 Debian 系列 的服务器操作系统,十分适合研发场景。 Debian 和 Ubuntu 属于同一系列的发行版。Debian 是由 Ian Murdock 在 1993 年创建的最初的发行版。Ubuntu 是 Mark Shuttleworth 在 2004 年基于 Debian 创建的发行版。 Li…

2024 National Invitational of CCPC (Zhengzhou)(CCPC郑州邀请赛暨CCPC河南省赛)

2024 National Invitational of CCPC (Zhengzhou) 2024CCPC郑州邀请赛暨CCPC河南省赛 2024 National Invitational of CCPC (Zhengzhou) B. 扫雷 1 题意:扫n轮雷,每轮开始获得一枚扫雷币,可保存,从第一轮开始,可以…

27.C++的类型转换(介绍了static_cast、reinterpret_cast、const_cast、dynamic_cast的用法)

1. C语言中的类型转换 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与接收返回值类型不一致时,就需要发生类型转化,C语言中总共有两种形式的类型转换:隐式类型转换…

JavaScript中的call、apply和bind方法(2)

JavaScript中的call、apply和bind方法是用于改变函数执行上下文和预先设置参数的强大工具。它们在编写可维护和优雅的代码时起到了重要的作用。本文将介绍这些方法的原理和使用场景,并展示如何将它们应用于你的代码中,使其更加漂亮。 call方法的原理和使…

STM32 CANFD 基础知识留档

讲得比较细的文章但可能有问题自行判定 附1 附2 前言 CAN2.0 协议中数据段波特率和仲裁段波特率默认是一致,因此只需要关注传输波特率即可 CANFD 协议是向下兼容 CAN2.0 的数据通讯,因此实际使用中需要配置 STM32H7 系列支持的标准是 Compliant with …