九天猎人 发表于 2024-11-19 15:19:19

DataOps for LLM 的数据工程技能架构实践

导读

在 LLM 蓬勃发展的今天,数据工程已成为支持大规模 AI 模子训练的基石。DataOps 作为数据工程的重要方法论,通过优化数据集成、转换和自动化运维,加快数据到模子的闭环流程。本文聚焦新一代数据 & AI 集成工具- Apache SeaTunnel 在 DataOps 中的核心作用,并介绍其怎样满足 AI 对向量数据及实时处理的需求。文章还分享了白鲸开源在信创情况中的创新实践,并预测数据工程与 DataOps 推动 AI 发展的未来趋势。
重要包罗以下四个部门:


[*]DataOps for LLM 数据工程架构
[*]白鲸开源的工程实践
[*]案例介绍
[*]数据工程的未来
分享高朋|代立冬 白鲸开源科技 联合创始人 & CTO
编辑整理|Neil
内容校对|李瑶
出品社区|DataFun
01 DataOps for LLM 数据工程架构

1. 海外独角兽企业打造数据工程平台

http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_72523D739F4844288B33F3E24119D8B1
近年来,全球数据工程架构在 AI 应用的推动下发生了巨大变化,尤其是一些海外独角兽企业在技能上持续创新。以往的数据架构重要依赖传统数据库和大数据平台,如 Oracle、Hadoop、MySQL 和 MongoDB,但现在这些数据库纷纷增加了向量支持,适应 AI 对向量数据处理的需求,如 MongoDB、Elasticsearch 和 Redis 等。
2. 数据工程与大模子

http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_1BC6BDCFF4304F26BD12F3CDD0F51306
关于大模子的训练,数据工程不仅需要整合多种数据源(包罗布局化、非布局化以及向量数据),还要实现跨源数据聚合和多条理的数据验证。
3. SeaTunnel 的诞生-企业面对的数据挑战

http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_9110C90E9D8540AC94D67562FCBDB3ED
在企业构建数据平台,特殊是应用于 LLaMA 等大模子的过程中,数据工程团队往往面对多重挑战。
4. 新技能挑战下的 EtLT 架构

http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_97A92946DF9E49BC932CEF81829F71BD
随着业务场景和技能挑战的增多,数据工程逐步从传统的 ETL 架构演进到更为机动的 EtLT 架构。这一演变不是简单的位置转变,而是为了适应云 SaaS、混合数据源以及实时数据湖和数据仓库的需求。EtLT 架构的出现使数据处理更加敏捷,尤其是在云计算和数据引擎能力增强的背景下,这种架构更好地支持了 AI 模子训练过程中复杂多变的数据需求。比方,ClickHouse 如今可以在单机模式下实现对数百亿数据的秒级查询,这在传统数仓引擎中是难以实现的,反映了现代数据引擎在大数据处理和查询速率上的明显提拔。
EtLT 架构中数据抽取的要求也更高,不仅需要实时抽取,还必须处理如 binlog 的变更以及 DDL 更新等复杂场景。比方,当上游数据表字段增减时,下游数据库或数据湖也需实时同步更新字段。这种高效的数据抽取方法在传统 ETL 流程中无法实现。别的,随着 SaaS API 的对接愈加复杂,数据抽取环节必须可以或许机动适应业务变化。
在此基础上,EtLT 架构中增加的小“t”处理为数据加工提供了关键支持。数据在抽取过程中可以经过类型转换和字段过滤等处理,避免无用字段占用存储空间和计算资源。比方,若源表包含 300 个字段,而目的表只需 50 个,则通过过滤只同步须要数据,降低资源浪费。同时,脏数据的洗濯和布局转换也在同步过程中完成,从而进一步提拔数据质量和使用效率。
各类数据引擎在加载数据时的方式也因架构变革而多样化。比方,Doris 需要 stream load 模式,Redshift 则采用 copy 文件模式,以进步数据加载效率。在 EtLT 架构中,由于每秒需同步大量数据到数据湖或数据仓库,传统的 JDBC 方式显然已无法满足需求。EtLT 架构的这些创新设计,使其更好地适应了实时数据仓库、AI 训练等场景的高效数据处理需求,与传统 ETL 相比,显现出更大的机动性和实时性。
5. 关于白鲸开源

http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_1B016B83CE4040A69EEDF8591F8EB049
在上述技能背景下,白鲸开源专注于 DataOps 的开源商业化,主导了两个 Apache 顶级开源项目,即Apache DolphinScheduler 和 Apache SeaTunnel。同时,白鲸也发布有对应的商业化版本——WhaleStudio,帮助企业在大数据和 AI 期间,智能化地解决多数据源、多云及信创情况下的数据集成、数据开发、工作流编排运维及摆设、数据质量管控、团队敏捷协作等一系列题目,并已在 6000 多家企业中得到实践和使用。
6. 白鲸开源主导的 Apache 项目-DophinScheduler

http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_E05DC10004F340FEA14D7159BDE0ED84
DophinScheduler 作为数据工程中的操作系统,是数据加工的基础平台。白鲸开源开发并开源了这个项目,正是因为在构建数据流水线(Data Pipeline)中,调度与编排功能至关重要。数据加工并非一步完成,而是分为多个环节。环节间的衔接需要调度系统来实现,因此调度系统成为整个数据操作的核心基础办法,甚至被称为“数据操作系统”。
早期,数据工程的任务调度通常依赖手动脚本和 cron,但这种方式无法满足复杂的数据编排需求。Azkaban 和 Airflow 等工具为任务调度提供了自动化方案,尤其在代码界说工作流时结果较好。然而,Airflow 在大规模数据量和高频任务场景下显得力不从心,扩展性不足、缺乏友好的可视化界面,也导致其难以应对国内数百万级的一样平常调度任务量。
基于这些痛点,DolphinScheduler 于 2017 年启动开发,2019 年开源,经过多年社区协作发展,如今已成为数据工程领域的热门开源调度平台。该平台支持去中心化设计,已经帮助不少用户稳固处理数百万级别的日调度任务量,具有高扩展性和机动的可视化功能,得当超大数据任务量场景。
7. 白鲸开源主导的 Apache 项目-SeaTunnel

http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_B69AB4FB5D6248208C01DEF16CB56285
SeaTunnel 项目是一个旨在解决数据集成和传输挑战的高性能分布式工具,被形象地称为数据工程的高速公路。随着现代企业面对的数据源种类不停增加,如 Hadoop、Kafka、Iceberg、Doris 等,SeaTunnel 致力于实现这些差别数据源之间的高效连接和同步。其重要目的是让各种数据源之间的打通变得更加轻巧,促进数据的实时流动和集成。
SeaTunnel 被定位为下一代高性能数据集成工具,特殊实用于大数据领域。通过支持超过 190 种数据源的收罗和传输,SeaTunnel 使得用户可以或许更机动地处理复杂的业务需求,满足从传统数据库到新兴的向量数据库等差别场景的需求。它不仅支持批量数据传输,还支持实时数据流处理,特殊是在 AI 应用场景中,对于向量数据库和流式数据处理的需求日益增加,SeaTunnel 可以或许有效地支持这些需求。
在技能架构方面,SeaTunnel 采用了无中心化的设计,架构中包罗 Master 和 Worker 两个重要组件。Master 负责团体作业的管理和调度,而 Worker 则专注于实行具体的任务,包罗数据的收罗、转换和写入。每个任务的实行由 TaskExecutionService 管理,而 JobMaster 则负责对整个任务的管控,包罗调度和监控任务状态。
SeaTunnel 还提供了强盛的数据处理能力,支持各种数据转换操作,好比将原始数据洗濯、过滤,甚至进行格式转换,以满足下游系统的要求。这一过程中的数据流动就像是高速公路上的车辆,机动而高效。SeaTunnel 确保在数据处理过程中可以或许进行断点续传和检查点管理,使得在出现故障时,可以或许迅速恢复任务,避免数据丢失和重复处理的题目。
2022 年,SeaTunnel 在经过两年多的孵化后正式成为 Apache 顶级项目,标志着它在开源数据集成领域的成熟。这一里程碑不仅展示了技能实力,也体现了中国在全球开源项目中的重要地位。通过开源,SeaTunnel 希望可以或许在国际舞台上展示中国开发者的能力,同时促进全球开发者之间的交流与互助。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_69D21ADCFFE8419586B1CAAB803906D1
SeaTunnel 在 2023 年增加了对向量数据库的支持,这对于处理现代 AI 应用中的高维数据非常重要。向量类型的添加,使得用户可以更加高效地处理和转换向量数据,这一功能的实现离不开社区的贡献。向量数据库的引入,意味着 SeaTunnel 可以或许处理更多样化的数据源,而且可以或许将向量数据与其他类型的数据进行整合,进一步提拔了数据集成的能力。
对于数据集的转换,SeaTunnel 具备对语言模子(如 LLaMA)进行数据处理和增强的能力。通过与 GPT 等 API 的集成,SeaTunnel 可以实行如数据标记和增强等任务。比方,用户可以使用这些能力判断一个名字对应的国籍,虽然这个例子看似简单,但实际上显现了 SeaTunnel 在数据处理中的强盛机动性和增强能力。通过应用 GPT 进行数据合成,用户可以或许在数据收罗和天生上得到更多支持,使得数据更符合实际应用需求。
在 Embedding 方面,SeaTunnel 支持多种模子的嵌入,包罗豆包和千问等,同时也允许用户自界说嵌入方式。这一设计使得 SeaTunnel 不仅可以处理标准的 Embedding 任务,还可以或许满足特定业务需求,支持差别模子的机动集成。整个架构为插件化设计,用户可以通过自界说源、转换和目的(sink)来扩展 SeaTunnel 的功能,这一机动性大大提拔了 SeaTunnel 在实际应用中的适应性和可扩展性。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_CE310C0D75AA4F8BAD26EE5ECA3A35DC
Apache SeaTunnel 项目旨在提供一个轻量、高效且易于使用的数据集成工具,其重要功能包罗:

[*]轻量化设计:Apache SeaTunnel 不依赖于 Hadoop、Spark 等重量级的大数据框架。相比之下,传统的大数据处理架构常常需要大量资源来维持其运行,特殊是在商业化情况中,客户可能只提供有限的机器资源,使用较重的框架如 Hadoop 和 Spark,可能会导致资源的浪费,使得别的任务难以高效实行。因此,SeaTunnel 的轻量设计旨在降低资源消耗,使用户可以或许在资源受限的情况中高效运行数据处理任务。
[*]广泛的数据源支持:SeaTunnel 支持多种数据源,包罗向量数据库和多模态数据库,使其可以或许将非布局化数据转换为布局化数据。这一功能非常得当现代数据处理需求,用户可以通过 SeaTunnel 方便地实现各种数据源的集成与同步。
[*]流处理一体化:Apache SeaTunnel 实现了流处理与批处理的无缝切换,消除了以往在流和批之间频繁切换所需的人工干预。如许的设计不仅进步了工作效率,也淘汰了出错的可能性。
[*]高性能数据读取:该项目提供了高效的并行读取和自动分片能力,使得数据处理的性能得到明显提拔。通过支持全量到增量的无锁化自动切换,SeaTunnel 可以或许更机动地应对数据流的变化,淘汰了对资源的竞争。
[*]动态伸缩能力:SeaTunnel 具有节点的动态伸缩能力,可以或许根据数据处理的实际需要进行资源的调整,确保在高负载时也能维持稳固的性能。这一功能尤其得当于数据量波动较大的场景。
[*]读缓冲和速率控制:为了提拔数据读取效率,SeaTunnel 引入了读缓冲机制,允许源读取数据的同时,支持多个目的的同步。别的,它还具备速率控制功能,用户可以机动地调整数据流的处理速率,以适应差别的业务需求。
[*]Schema Evolution:SeaTunnel 支持 Schema Evolution,这意味着在数据源的布局发生变化(如 DDL 变更)时,系统可以或许自动适应,而无需手动干预。这一特性特殊重要,因为在动态的业务情况中,数据模子的变化是非常常见的。
[*]无中心化设计与多引擎支持:SeaTunnel 采用无中心化的设计,不依赖于特定的计算引擎。同时,SeaTunnel 提供多引擎的支持,用户可以根据需求选择差别的底层引擎,而无需为每个引擎实现独立的连接器。其自界说的 API 可以或许适配新出现的引擎,解决了引擎版本更新带来的兼容性题目。
[*]多版本支持与 JDBC 多路复用:SeaTunnel 实现了对多版本底层引擎的支持,用户只需一次性实现集成,即可兼容流和批的操作。同时,SeaTunnel 支持 JDBC 的多路复用,可以或许在差别的底层引擎之间进行转换,简化了数据处理流程。
[*]高效的数据转换:SeaTunnel 内部实现了 Spark 和 Flink 的数据布局转换,可以或许将 SeaTunnel 的行数据布局转换为 Spark 和 Flink 的格式,确保用户可以或许无缝地在差别的数据处理框架间切换。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_D00960A1285A4E4483EAB2B2B7AD9E66
SeaTunnel 之所以可以或许实现高效的数据处理,得益于其强盛的分片机制和对各类引擎的特性支持。以下是其在加快数据处理方面的关键技能:

[*]分片与多机并行:SeaTunnel 采用分片机制,可以或许将大规模的数据任务切分为多个小任务,分配到多台机器上并行实行。这种分片多机并行的处理方式极大地提拔了数据处理速率,是 SeaTunnel 快速高效的核心所在。
[*]针对性引擎适配:SeaTunnel 在设计上充实使用各类数据库引擎的特点。比方,Doris 在数据加载时采用 stream load 方法最快,而 ClickHouse 则倾向于通过天生文件来进行加载。SeaTunnel 在数据写入环节会根据目的引擎的特性选择最优的数据导入方式,极大地进步了写入效率。这种个性化适配机制确保SeaTunnel 可以或许充实发挥各类数据库的性能潜力。
[*]并发管理与分片均匀性:在数据处理的中间环节,SeaTunnel 采用了并发和并行的管理机制,以确保分片数据可以或许均匀分布。同时,它通过抽样来分析各字段类型,比方识别某字段是字符串照旧整数,以此决定分片同步的最佳机制,从而实现更高效的并发处理。
[*]对比其他数据集成产品:与其他数据集成工具(如 DataX、Sqoop、Flume 等)相比,SeaTunnel 的摆设相对更轻量级,且不依赖 Hadoop 生态系统。这使得 SeaTunnel 在复杂性和机动性方面具备优势。别的,Flume 虽然在 Hadoop 体系下运作相对简单,但 SeaTunnel 仍然可以或许提供更机动的摆设方式。
[*]多功能数据同步:SeaTunnel 支持自动建表和多表同步,且具备断点续传的能力,确保数据在中断后可以从上次的位置继续处理。同时,它为批处理和流处理的融合提供了支持,以应对近年来批流一体的趋势。
[*]同等性与分布式事务支持:SeaTunnel 在数据正确性和同等性方面进行了专门的设计。为确保数据的同等性,SeaTunnel 使用了分布式事务技能,这对数据集成工具提出了更高的技能要求。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_764D38109AE0494EB0C35D9D5E81F876
上图中从多个维度对 Apache SeaTunnel 与其它相关产品进行了对比。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_109054ACA6B948C686F4F379DF73316E
SeaTunnel 的 CDC(Change Data Capture)功能通过抽象设计实现了读取和写入端的数据变化捕获,便于差别数据库之间的数据同步。CDC采用 SeaTunnel 的自界说数据类型,建立数据源与目的之间的字段映射,进行模子推演,使字段和类型在上下游匹配。数据分为insert、update(更新前后)和 delete 几种类型。
CDC 的读取流程包罗快照读取和增量读取两部门。快照读取负责历史表数据的初始化,增量读取捕获实时变化,通过读取增量日志实现动态更新,支持批流一体化转换。SeaTunnel CDC 在初始化后自动切换到实时模式,确保数据的高效、正确同步。
02 白鲸开源的工程实践

白鲸开源在开源项目基础上开发了商业化产品-WhaleStudio,在 Apache DolphinScheduler 和 SeaTunnel 开源核心基础上增加了众多企业级特性,也强化了对国内信创情况及数据源的支持。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_BA61ABE8442E460087550B8C5D0A3F4B
商业化版本通过 WhaleStudio 实现了一站式的开发、测试和运维闭环管理,提供了调度、数据同步、数据质量监控以及影响分析等完备功能。 相比开源版本,商业版在 CDC 和数据源支持方面有明显增强,不仅支持更多数据源,还增加了 DDL 变更报警和延时告警,提拔了数据开发与运维能力。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_25F8CC343C2B4747A53723645C637389http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_A5EEB94EB60D4988830F2C41A3E01593http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_7A299A28F1BE414BB0B08EE6B485C135http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_37E7D0FCD5BE416183332C732BB6A3BF
别的,商业版提供了强盛的工作流与血缘分析功能,使得用户可以在长链路数据处理中查看多条理的下游影响,通过自动重跑和故障分析来管理复杂任务的依赖关系。通过智能告警和基线管理,系统可以或许自动分析上游依赖,对如金融报表等关键任务提供基于依赖的告警,确保按时交付。运维能力方面,商业版通过多种智能运维本事提拔了系统在复杂任务链和多任务情况下的稳固性和管理效率,为用户提供了更加智能、全面的运维支持。
03 案例分享

http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_68A3FDAEFA8A430790733C3A2B73E23A
中信建投作为典型的金融行业案例,展示了通过敏捷开发与运维实现高效工作流编排的实践。
04 数据工程的未来

预测数据工程的未来发展,白鲸开源做了诸多实行,让工作流更加智能化。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_5B7EA28B543C4C30A1B5BA76E88E878B
好比,现在可以直接查询 GPT 作为知识库的一部门。通过 RAG 技能,用户可以输入需求,好比“计算市场部门的天天销售额”,GPT 会自动找到对应表并返回数据。别的,还可进行知识问询,比方了解数据依赖、业务日历等概念,这些一样平常问询基本可以或许满足业务需求。
在技能实现方面,白鲸开源开发了 Text-to-SQL 的功能,使用户可以或许通过自然语言输入自动天生 SQL 语句,以便在数仓加工中处理各种场景。比方用户输入“计算学生平均分”,系统会自动天生包含分组等操作的嵌套 SQL。白鲸开源还希望通过未来的数据工程简化链路,实现从上游收罗到结果的自动化处理,以淘汰数据工程的复杂性。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_8822B0C684994E0486469985B7E78A6C
在数据连接器的扩展上,白鲸开源也使用 ChatGPT 进行优化开发。SeaTunnel 目前支持 160 种数据源,但为适应更多业务场景,需要开发更多连接器。白鲸开源实行通过 GPT 自动天生接口,比方 HTTP 和 SaaS 接口相对简单,数据库接口较复杂,但仍能加快开发速率。别的,白鲸开源还联合 GPT 与 Copilot 来加强这一部门的开发效率,帮助 SeaTunnel 更好地支持多种数据源和业务场景。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_E79EA4F3D4794E398A888AC5E5701428
以上就是本次分享的内容,欢迎各人继续关注白鲸开源。谢谢各人。
分享高朋

代立冬
白鲸开源科技联合创始人 & CTO,白鲸开源联合创始人, Apache 基金会孵化器导师,Apache DolphinScheduler PMC Chair & Apache SeaTunnel PMC。担任历届 ApacheCon 亚洲大数据湖仓论坛出品人,并当选中国科协 “2023 开源创新榜” 良好人物。
本文由 白鲸开源 提供发布支持!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: DataOps for LLM 的数据工程技能架构实践