文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

火花思维:从 0 到 1 构建一站式数据开发治理平台

2024-11-29 22:30

关注

随着火花思维的业务发展,数据量和数据诉求呈现出爆炸式增长的态势。然而数据使用与管理模式已逐渐出现捉襟见肘,难以支撑企业高效运营与决策支持的核心需求。具体而言,当时我们面临着以下几大突出问题:

在产品建设初期,我们曾考虑过第三方的现有产品。然而,经过深入调研,我们发现了许多问题,最终决定自主研发。首先,当时我们发现市场上的现有产品虽然在基本 SQL 开发、调度配置、任务运维等方面表现出色,但在异源数据集成、DDL 适配、跨云部署等场景存在局限性。其次,我们对第三方产品的迭代速度和稳定性存在担忧。我们需要确保产品能够满足公司数据生产和消费方对大数据的期望,并在使用过程中不会出现重大问题。如果我们纯依赖三方产品的方法论以及售后支持和研发资源,那么会出现“不会用”、“加资源”、“等迭代”等常见矛盾现象。最后,我们认为自主研发将为我们带来更多的机遇和优势。通过自主研发,我们可以更好地把控产品的应用场景、功能矩阵和核心技术,以便更好地满足需求,并根据需求变化及时进行调整和改进。

二、产品简介

1. 功能介绍

Athena 数据工厂是火花自研的一站式数据开发治理平台,主要为运营、BA、产品、研发、财务、技术支持等多样化角色提供任务开发、任务运维、提数分析、资源管理全方位的产品服务,帮助数据生产者和数据消费者专注于数据价值的挖掘和探索。该平台核心功能主要包含以下几个部分:

通过该平台可以轻松地完成数据的采集、清洗、加工和分析,提高数据的质量和利用率。同时,平台的可视化操作界面和灵活的配置选项,让用户可以快速上手并进行个性化设置。此外,平台还提供了丰富的数据服务和应用,包括用户标签、数据入湖、数据安全等,这些数据服务和应用可以帮助企业更好地利用和管理数据资源,提高数据的价值和效益。

2. 架构设计

Athena 数据工厂主体架构分为以下几个模块:

3. 使用场景

火花思维大数据计算链路经过多年的发展和演变,已经形成了 T/H+x、分钟级、实时和 AI 四种场景的计算链路,支撑了多方面的数据处理和分析场景。

三、关键技术与创新点

1. 离线 ETL

在离线开发集成角度,Athena 数据工厂提供了丰富的功能,旨在满足用户在基础数据 ETL 以及分析挖掘领域的多样化需求。该模块的核心能力体现在 Hive、Doris、Python 以及与其他组件的集成上,为用户提供高效、稳定且灵活的数据 ETL 链路。

HiveSQL 作为离线开发任务的重要组成部分,先后经历从 Hive 1.2 到 Hive 3.1 的版本升级。前期主要依赖 Tez 引擎进行数据处理,其中 Tez 0.10 引擎以其更高效的执行计划和资源管理能力,为 HiveSQL 提供了强大的性能支持。随着大数据 ServerLess 技术的演进,在 2023 年完全适配了商业化数据湖计算 DLC SparkSQL,基于存算分离的整体架构使得离线 SQL 在大数据处理上更加灵活和高效。

Doris 计算也是 Athena 数据工厂的一大亮点,其作为一种高性能的分布式 OLAP 引擎,具有快速查询分析和高并发等特性。通过集成 Doris 计算,能够支持用户对海量数据进行分钟级离线运算分析,借助一键 API 功能,满足 CRM 业务数据时效性的高要求。

Python 作为一种通用编程语言,在数据开发领域也发挥着重要作用。在 AI 大模型“肆孽”的当下,Athena 选择 Python 3.10 版本支持用户编写离线数据处理任务,利用云函数 Python 丰富的库和 MB 级内存资源管控能力,重点处理 SQL 不易甚至不能解决的场景,实现复杂的数据分析和处理逻辑,使得用户可以更加灵活地处理数据,提高开发效率。

在与其他组件的集成方面,比如 Mysql<->Hive 的集成任务,Athena 依赖 Sqoop 集成工具进行数据传输和同步。我们还通过异步监听 Mysql 的 DDL 变化,实现了数仓 ODS 层的字段新增、删除以及 Comment 变化的适配,以及在用户交互中实现自动建表、字段同名映射等功能。分库分表合并则利用 CDC 模式实现。对于 Hive 与其他组件的集成,我们则依赖 DataX 这一强大的数据交换平台。DataX 支持多种数据源之间的数据交换,包括 Hive、ES、MQ 等。目前,为了积极拥抱弹性计算,我们根据火花数据的特有使用场景,通过二次开发改造 Seatunel,计划在第二季度彻底替换 Sqoop 和 DataX。

2. 调度系统

Athena 数据工厂的底层调度组件,正是基于业界知名的 Airflow 2.0 构建而成。Airflow 作为一个灵活且可扩展的分布式工作流调度系统,早已在大数据领域赢得了广泛的应用。它不仅能够高效地调度各种数据处理任务,还具备丰富的 API 支持,使得开发者能够轻松集成各种功能,满足复杂的业务需求。

在我们的调度系统中,除了支持任务启停、依赖绑定、失败重试、重跑上下游等基础功能外,我们还通过深度整合调度系统元数据和 Athena 数据工厂元数据,实现了更为精细化的调度管理。这使得我们能够实时掌握任务的运行状态,及时发现并解决问题,确保数据处理的稳定性和准确性。

3. 实时计算

Athena 数据工厂的实时计算模块功能主要支持 Spark Jar、Flink Jar 以及 Flink SQL 三种开发任务。

在 Flink SQL 方面,它已经成为非大数据用户的首选。Flink SQL 以其简洁易懂的语法和强大的实时处理能力,受到了广大用户的青睐。目前,我们的平台已经支持 Kafka、RocketMQ、Mysql、Doris、Elasticsearch、Hive、Hudi、Iceberg 等众多 Connector。这些 Connector 的存在,使得 Flink SQL 能够轻松接入各种数据源,实现数据的实时采集、处理和输出。

在 Jar 任务方面,无论是 Spark Jar 还是 Flink Jar,它们都以公司 GitLab 的仓库地址为基准。这意味着,开发人员可以将自己的 Jar 包上传到公司代码仓库,并通过Athena 轻松实现打包、部署和运行。这种集成方式不仅提高了开发效率,还确保了 Jar 包的版本管理和安全性。

今年,我们的实时计算底层也计划基于 Oceanus 弹性伸缩进行改造。根据业务需求的变化,我们可以自动化调整计算资源,实现动态计算能力的弹性伸缩。通过合理的资源调度和容错机制,我们能够确保实时计算任务的稳定性和可靠性。

4. 监控预警

在任务级别的监控方面,Athena 数据工厂能够实时监控任务的执行状态,包括是否成功、失败或超时。这些监控项是确保任务稳定运行的关键指标。一旦任务失败或超时,平台会立即触发预警机制,通过飞书群或飞书个人等方式通知相关人员,以便及时介入处理。

除了任务级别的监控,Athena 数据工厂还提供了表级别的监控功能。这包括主键唯一性检查、双端对比以及表行数校验等。主键唯一性检查能够确保表中数据的唯一性,防止重复数据的出现;双端对比则能够对不同数据源之间的数据进行比对,确保数据的一致性;表行数校验则可以检查表中数据的数量是否正确,防止数据丢失或异常增多。这些表级别的监控项能够全面保障数据的质量和准确性。此外,Athena 数据工厂还支持字段级别的监控。这包括空值检查、异常值监控、求和、均值、极值等。空值检查能够发现数据中的缺失值,确保数据的完整性;异常值监控则可以识别并报警异常数据,防止其对后续分析造成影响;求和、均值和极值等统计指标则能够帮助我们了解数据的分布情况,为后续的数据处理和分析提供重要参考。

Athena 数据工厂的监控程序与监控任务是紧密绑定的。这种一体化的设计不仅方便了用户对监控任务的管理和维护,还能够实现任务与监控的成本核算。通过监控程序,我们可以清晰了解每个监控任务的资源消耗情况,为成本控制和资源优化提供了有力支持。

四、实施与运营

1. 演进历程

Athena 数据工厂于 2021 年底正常上线,初期目标就是将以 Azkaban 和 Crontab 上的 HiveSQl 和 Sqoop 脚本全部迁移至数据工厂,让数据仓库、数据服务和 BA 自助的脚本能够在各自项目空间下有序地依赖执行。

2. 日常运营

Athena 数据工厂的日常运营在 2023 年 3 月前后经历了两个阶段,每个阶段都有其独特的运营策略与特点。在 2023 年 3 月之前,我们采用的是项目制的运营模式。每个项目都建立了专门的运营群,并配备了专业的运营人员。这些运营人员不仅具备丰富的数据开发经验和深厚的技术功底,还擅长与用户沟通,能够迅速把握用户需求并提供相应的解决方案。他们会在群里积极回答用户的问题,提供细致的解答和培训,确保用户能够顺利使用我们的产品。同时,他们还会根据用户的反馈和需求,不断优化我们的产品和服务,持续提升用户体验。

然而,随着用户数量的不断增加和项目规模的扩大,我们意识到这种项目制的运营模式存在一些问题。比如,不同项目之间的信息交流不畅,导致一些共性问题无法得到及时解决;同时,运营人员的工作负担也逐渐加重,难以保证服务质量和效率。因此,在 2023 年 3 月之后,我们对产品运营模式进行了调整,建立了《大数据服务中心》千人话题群。该话题群将所有用户集中在一起,方便他们之间的交流和互动。同时,我们实施了轮岗机制,由 Athena 数据工厂的产品、研发、测试多方人员轮流担任值班人员,负责解答群内用户的问题,不仅提高了服务效率,还确保了问题的专业性和准确性。为了确保值班人员能够准时上线并积极参与群聊,我们还引入了机器人提醒功能。机器人会在每天下午 18 点定时提醒值班人员上线,并在群里积极回答用户的问题。通过这种方式,我们确保了服务的及时性和连续性。

五、成效与收获

1. 释放自助能力

我们一直秉持着“生产力改变生产关系”的原则,致力于提供便捷、高效的数据开发工具和服务,帮助公司各部门、各角色更加自主地开展数据分析和应用,实现公司数据自助开放的整体策略目标紧密相连。

从数据层面来看,Athena 数据工厂每日承载的离线任务运行实例数量已达到约2 万个,它表明我们的平台已经能够稳定、高效地处理大量的数据任务,为公司的数据分析和应用提供了强有力的支持。同时,内部用户数量也达到了约 470 人,MAU 约 130,这说明已经得到了广泛的认可和使用。由 BA、运营、产品、研发等非大数据角色发起的新增任务占比高达 92%。这一数据不仅凸显了 Athena 数据工厂在跨角色数据开发方面的广泛应用,更体现了平台在推动公司内部数据自主开放方面的卓越成效。

具体来说,仅在 2023 年非大数据角色通过 Athena 数据工厂新增的任务数量就达到了 2700+ 个(忽略数据资产生命周期治理)。从更宏观的视角来看,结合数据需求迭代频率,Athena 数据工厂实际上在 2023 年支撑了公司内部的 3000+ 个数据需求。这意味着,Athena 数据工厂已改变公司数据诉求供需关系,为增长和变化预留了足够的空间,更为公司提供了一个稳定、可靠的数据基础设施,使得公司能够更加自信地面对未来的数据挑战,实现数据价值最大化。

2. 提升可靠性

3. 优化 ETL 效率

自从调度任务迁移至 Athena 数据工厂后,通过分析 ETL 任务的执行数据,从多方面提升了整体运行性能,天调度 SQL 任务 24 年 3 月同比 23 年 3 月增加 107%,单平均任务运行时长降低 48%。这主要得益于三个方面的改进:

4. 降低成本

Athena 数据工厂通过底层技术的优化进一步降低了综合技术成本。近两年,我们将hive 底层引擎先进行了 tez 升级后切换至 Spark,存储从 HDFS 迁移到 COS,今年3 月天调度单任务计算成本同比去年降低 29%。而这些切换过程中,我们充分利用了 Athena 数据工厂对底层的隔离和封装能力,降低技术升级对用户的影响,甚至部分迁移工作对用户无感。

在 Athena 数据工厂上线前,BA 和研发人员面临着繁琐且耗时的数据任务上线发布流程。他们需要通过一套基础配置工具,历经八个步骤才能完成整个操作。这包括编写配置文件和 SQL、上传代码、配置依赖、构建任务、部署任务和发布任务等。每一步都需要手动操作,稍有不慎就可能导致错误或异常情况,进一步增加了解决问题的难度和时间成本。然而,使用 Athena 数据工厂后,这一切得到了彻底的改变。据调查统计,每个数据任务的上线发布过程至少可以节省 3 小时以上的时间。

六、总结与展望

1. 经验教训

在 Athena 数据工厂构建过程中,我们积累了许多宝贵的经验教训。以下是一些关键的点:

2. 未来迭代

结语:通过对一站式数据开发治理平台的构建与实践,火花思维成功提升了数据管理效率,优化了数据利用价值,为公司发展注入了新的活力。未来,随着技术的不断进步和业务的持续拓展,公司将继续深化数据治理与开发工作,为在线教育行业数据驱动的创新发展贡献更多力量。

来源:DataFunTalk内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯