DolphinScheduler×T3出行 | 打造车联网一站式数据应用交互体验

news2024/11/18 13:56:58

点击蓝字 关注我们

e4bedc04b4c2648355b0b1bd876f6d3b.png

deb2f32e5dd6b8b4fa536c70c3116ae5.jpeg

用户案例 | T3 出行

业务挑战

作为一家车联网驱动的公司,T3出行汇聚了“人、车、路、云”各端的海量数据。为了承载如此多元化的数据以更好地释放数据价值,T3出行构建了以Apache Hudi为基础的企业级的数据湖,并在此之上搭建了BI分析,机器学习,数据质量,权限管理等一系列平台,为业务提供强有力的支撑。

同时,T3出行使用Apache DolphinScheduler作为全平台的任务调度载体,任务类型包含Spark、SQL、Shell、Python等,日均任务数量4w+。且随着内部平台越来越多,业务结构越来越复杂,也在倒逼内部对Apache DolphinScheduler适用性、可靠性及能效的不断提升,愿景是实现从数据接入到数据应用的一站式数据应用于交互。

01

解决方案

01

数据湖架构

68131c020e31fcdf290801dc07b56371.png

来自Kafka的流式数据会对接Flink进行流式消费;随后Flink会以低延迟的形式将数据写入到Hudi数据湖中。Apache DolphinScheduler及其他组件以此为基础围“湖”而建,架构整体上保证了数据湖上低延迟的 Pipeline 高效调度与加工。

02

提高适用性

  • 依赖任务逻辑重构

对于非depend-all的依赖任务,以任务实例视图代替工作流实例视图作为依赖判定基准。如果因为一个没有包含目标依赖任务的工作流片段而导致依赖任务判定异常,这显然是不符合预期的。下图以恢复失败场景为例:

c46f77f5244668308ebe9428cf45990f.png

  • 跨Apache DolphinScheduler版本依赖

为了既可以使用高版本Apache DolphinScheduler的新特性,又不对线上低版本Apache DolphinScheduler做变更,同时保证Apache DolphinScheduler高低版本间互通、协同调度,实现了跨Apache DolphinScheduler版本依赖。

f531d85502d1feb81cb09a94b56e6d3e.png

  • ds-client

提供ds-client用于内部平台与DScheduler交互。多数情况下,业务倾向于通过消息触发的方式与调度进行交互,通过ds-client可以将Apache DolphinScheduler核心功能完全释放到平台侧,对于上层业务来说甚至不感知调度的存在。

1adb6cee01b7ba3ea431bff36da29d1c.png

03

提高可靠性

  • 提高SPARK任务容错

  1. 异步获取application id,不再依赖解析任务日志,spark日志级别可设置为INFO以上

  2. 添加针对业务使用"spark.yarn.submit.waitCompletion=false"参数时的容错

  3. 添加针对rm主备倒换期间yarn任务的容错及校验

  • 精细化监控与告警

例如增加服务负载监控与告警;或自定义工作流定义未运行监控告警等。

61efccdce689305865318c6c5a1a8daa.png

ad29e8712f42aba3d21585f7f0a15b51.png

8f7d18ce1ee70903793809a5f1b342f7.png

  • 黑名单与滚动升级

虽然可以依赖Apache DolphinScheduler master/worker容错来类似实现滚动升级,但任务容错的原理是kill&restart,低效且缺失容错监控手段。同时在日常运维时,也缺少对于故障节点的规避措施。对此,T3出行支持了master/worke黑名单管理,并基于此实现了滚动升级。

17d2b44aec7fa41eff68998d840bb1b6.png

04

提高能效

  • 资源中心缓存

对于引用了资源中心文件的任务,在每次执行时都要执行下载操作是冗余的。为此,T3出行实现了资源中心缓存,同一台worker节点上的同个资源中心文件,可以被所有任务反复引用,并保证本地缓存与资源中心文件的一致性。

c5aa3a9a02ffafa074a8a7264c8b96de.png

  • 数据源集成Kyuubi,为使用hive数据源的SQL任务提效 

21ad524c19dbb1a6601cb34b5a40f2bf.png

02

用户收益

  1. 受益于Dolphin Scheduler的高扩展性和开放性,T3在性能、稳定性及易用性方面做了很多创新和优化,使得DS所在公司内所涵盖的业务越来越广,调度需求越来越多。

  2. 过程中真实地帮助业务部门以较低的门槛启动大数据相关需求,同时提升了数据开发部门的研发效率。

  3. 目前,T3出行内部聚焦在如何通过Apache DolphinScheduler实现大数据开发的CI\CD管理,这将使Apache DolphinScheduler一站式开发更加完善。

03

用户简介

T3出行是是由一汽、长安、东风三家央企联合阿里、腾讯、苏宁三家知名互联网公司共同成立的主打B2C的网约车平台,是国内首家基于车联网的出行平台。公司提供的服务包括出租车、专车、拼车、代驾、租车等多种出行方式。

T3出行的宗旨是为用户提供更加安全、便捷和舒适的出行体验,同时也为司机和车主提供更加优质的服务和收益。

参与贡献

随着国内开源的迅猛崛起,Apache DolphinScheduler 社区迎来蓬勃发展,为了做更好用、易用的调度,真诚欢迎热爱开源的伙伴加入到开源社区中来,为中国开源崛起献上一份自己的力量,让本土开源走向全球。

44f8dbf6b9be06a59064e17f447d2147.png

参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:

5d83a2b169238c247a068303df7bfe0c.png

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/5689

非新手问题列表:https://github.com/apache/dolphinscheduler/issues?q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22

如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/community/development/contribute.html

来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的。

参与开源可以近距离与各路高手切磋,迅速提升自己的技能,如果您想参与贡献,我们有个贡献者种子孵化群,可以添加社区小助手微信(Leonard-ds) ,手把手教会您( 贡献者不分水平高低,有问必答,关键是有一颗愿意贡献的心 )。

867c2098d3313f982320b46ea70d0e87.jpeg

添加社区小助手微信(Leonard-ds) 

添加小助手微信时请说明想参与贡献。

来吧,开源社区非常期待您的参与。

< 🐬🐬 >

更多精彩推荐

☞PyDolphinScheduler 发布 4.0.3 版本,修复无法提交文件到资源中心的问题

☞优秀用户案例有奖征集 | 活动火热开启,快来投稿!

☞Apache DolphinScheduler 从 1.3.4 升级至3.1.2 过程中的问题记录及解决方案

☞Apache DolphinScheduler 3.1.5 发布,修复工作流实例甘特图查看异常等问题

☞去年办了这么多场Meetup都没有你,2023年赶紧安排起来!

☞为什么工作流中的数据质量要尽早验证,经常验证?

☞【每周 FAQ】第二期 | 回答你关于 Apache DolphinScheduler 的疑问

点击阅读原文,点亮Star支持我们哟587fb8d682592a168bb5696a30b2c1b1.png

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

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

相关文章

Nginx rewrite ——重写跳转

Nginx常见模块 http http块是Nginx服务器配置中的重要部分&#xff0c;代理、缓存和日志定义等绝大多数的功能和第三方模块的配置都可以放在这模块中。作用包括&#xff1a;文件引入、MIME-Type定义、日志自定义、是否使用sendfile传输文件、连接超时时间、单连接请求数上限等…

代码随想录算法训练营第三十六天|435. 无重叠区间、763.划分字母区间 、56. 合并区间

文章目录 重叠问题435. 无重叠区间763.划分字母区间:star:56. 合并区间 重叠问题 这几道题都是判断区间重叠&#xff0c;区别就是判断区间重叠后的逻辑。 435. 无重叠区间 链接:代码随想录 解题思路&#xff1a; 这道题和射气球的题几乎思路一样 不断求出重叠的最小右区间&a…

【Spring篇】Spring相关概念

&#x1f353;系列专栏:Spring系列 &#x1f349;个人主页:个人主页 目录 一、介绍 &#x1f34a;1.为什么要学? &#x1f34d;2.学什么? &#x1f353;3.怎么学? 二、Spring相关概念 &#x1f352;1.Spring家族 &#x1f345;2.了解Spring发展史 &#x1f350;3.Spr…

Centos7 系列:磁盘挂载和磁盘扩容(新加硬盘方式)

磁盘挂载和磁盘扩容 一、系统环境二、磁盘挂载到新目录&#xff08;磁盘挂载&#xff09;2.1 查找新硬盘2.2 创建挂载目录2.3 创建新分区2.4 创建新物理卷2.5 创建新卷组2.6 创建新逻辑卷2.7 挂载到空目录 三、挂载到已有目录&#xff08;磁盘扩容&#xff09;3.1 查找新硬盘3.…

【Linux】冯诺依曼体系结构与进程的基础知识点

目录 1.冯诺依曼体系结构硬件[2~5]2.为什么要有内存&#xff1f;3.为什么不用CPU中的寄存器做存储单元&#xff1f;4.为什么我们的程序必须先被加载到内存中&#xff1f;5.在硬件层面数据流是如何流向的&#xff1f; 软件[6~10]6.操作系统Operator System7.操作系统的作用8.操作…

能源管理系统在电子厂房中的应用

摘要&#xff1a;以能耗管理系统在工业厂房的应用为例&#xff0c;介绍了系统架构及功能。重点分析能耗管理系统在工业厂房实施过程中遇到的难点&#xff0c;并对系统采集的数据进行分析&#xff0c;提出了相应的节能措施&#xff0c;帮助该业厂房达到节约能耗和运行费用的目的…

tomcat部署应用页面乱码问题解决方案

参考&#xff1a;(129条消息) java jvm字符集 设置_windows/tomcat 修改java虚拟机JVM以utf-8字符集加载class文件的两种方式..._Lemaden的博客-CSDN博客 1、应用部署tomcat启动之后&#xff0c;页面显示乱码&#xff0c;解决方案 设置环境变量&#xff1a; 我的电脑 -> …

转行大数据未来发展怎么样?可行么

近年来越来越多的人选择大数据行业&#xff0c;大数据行业前景不错薪资待遇好&#xff0c;各大名企对于大数据人才需求不断上涨。 大数据从业领域很宽广&#xff0c;不管是科技领域还是食品产业&#xff0c;零售业等都是需要大数据人才进行大数据的处理&#xff0c;以提供更好…

智慧管廊监控与报警管控一体化系统解决方案

摘要&#xff1a;智慧管廊监控与报警管控是一项综合性质较高的管控操作系统。在各项系统结构之间因为技术管理体系之间的差异&#xff0c;所评价的标准也有着不同的区分&#xff0c;导致各项标准之间难以实现相互之间的联通。这种形式下就需要实现环境与设备之间的监控管理、通…

HBuilderX的快捷键

快捷键说明ctrl /添加注释&#xff08;js&#xff1a;// 注释、css&#xff1a;/* 注释 */、vue/nvue模板&#xff1a; <!-- 注释 -->&#xff09;ctrl k格式化代码Ctrl C 拷贝当前行或者所选代码块到剪切板Ctrl X剪切当前行或所选代码块到剪切板Ctrl V粘贴剪切板上…

LeetCode LCP 04. 覆盖【二分图最大匹配,匈牙利算法】困难

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

400元左右的蓝牙耳机啥牌子好?400元价位蓝牙耳机推荐

随着人们越来越倾向于使用随身便携的电子产品&#xff0c;轻松上阵、无线自由的TWS蓝牙耳机越来越受消费者的青睐&#xff0c;成为现在耳机行业的新星&#xff0c;下面整理了几款400元价位的耳机品牌。 一、南卡小音舱Lite2蓝牙耳机 参考价格&#xff1a;239元 佩戴方式&…

AgentAI+ChatGPT给出答案-为什么即时通讯需要心跳

序言 人工智能ChatGpt 结合系统化的问题拆解, 现在已经能够进行问题的拆解与自问自答, 预计未来很多的脑力工作要被释放了, 作为即时通讯的开发人员, 我问问专业的问题 为什么即时通讯需要心跳 先看产品界面与使用结果 问题拆解过程 执行任务1: 概念搜索 “Executing “Res…

【hello Linux】基础IO

目录 1.C语言文件操作 1. 打开文件&#xff1a; 2. 文件操作 3. 关闭文件 2. C语言中的流操作 3. 系统文件IO 1. 接口介绍 2. 写文件 3. 读文件 4. 文件描述符fd 0 & 1 & 2 文件描述符&#xff1a; 文件描述符原理&#xff1a; 文件描述符的分配规则&#xff1a; 5. 重…

企业数字化转型如何做?看过来

一、什么是数字化转型&#xff1f; 企业数字化转型旨在以数字化技术为基础&#xff0c;建立一个与物理世界对应的数字世界。在数字化转型过程中&#xff0c;数据是核心&#xff0c;人工智能是手段&#xff0c;云化服务是形式&#xff0c;企业的组织制度、流程优化与重构及人才…

ROS学习——艰辛的环境安装之路一ROS安装Kinetic版本

ROS-Kinetic Kinetic版本的ROS是用在Ubuntu16.04版本下的&#xff0c;先确认Ubuntu版本 Kinetic安装的官方文档&#xff08;可以按照原文来&#xff09; http://wiki.ros.org/kinetic/Installation/Ubuntu 1.配置Ubuntu的软件仓库 在安装 Ubuntu 的过程中如果你系统选了中文…

电子表格 VS 数据网格,你的React应用程序应该怎么选?

电子表格和数据网格&#xff1a;乍一看他们似乎是可互换的组件&#xff0c;由于两者都是用表格显示来格式化大量数据&#xff0c;因此很难知道应该为React应用程序选择哪个选项。 尽管它们的外观相似&#xff0c;但提供了非常不同的功能——选择错误的一个将对用户体验产生负面…

vite面试题

为什么说vite比webpack更快 和webpack对比&#xff0c;为什么 vite 的冷启动、热启动、热更新都会快&#xff1f;这就要说说二者的区别。 使用 webpack 时&#xff0c;从 yarn start 命令启动&#xff0c;到最后页面展示&#xff0c;需要经历的过程&#xff1a; 以 entry 配置…

如何制作订单工序流转报表

使用外部数据分析工具&#xff0c;比如百度Sugar&#xff0c;连接草料二维码官方数据库&#xff0c;即可制作自定义可视化报表。本文会具体介绍订单工序流转报表的制作流程。 一、案例效果 订单工序流转报表可以帮助管理者快速查询各订单的最新进展、是否超期&#xff0c;关注…

SAP Web IDE本地环境搭建

SAP Web IDE本地环境搭建 1、JDK的安装及配置环境变量 可通过官网自行下载JDK&#xff1a; Java Downloads | Oracle 直接傻瓜式安装至默认路径“C:\Program Files\Java\jdk-17.0.2”&#xff0c;然后配置环境变量“JAVA_HOME”、“CLASSPATH”和“PATH”。 JAVA_HOME&…