轻松编排工作流,浅谈DolphinScheduler如何使用Python调用API接口?

news2024/11/25 5:29:03

最近,在做某大型零售企业项目时,有客户用到DolphinScheduler,并咨询是否可以用Python脚本编排工作流?该如何实现?相信有很多人会有这样的疑问,那么,本文将为我们简单分享DolphinScheduler的优势和实际使用。

为什么企业数据开发要使用海豚调度?

当企业在做数据开发时,任务调度平台会扮演自动执行预设任务的重要角色,是业务开展过程中不可或缺的一环。

随着企业业务的快速发展,总是会需要定时执行各种类型的任务,这些任务之间还可能存在着各种依赖关系。而且在使用任务调度平台往往会遇到一些问题,比如:

  1. 企业历史累计的离线任务数量庞大,可能已达到1w+的规模,平台的稳定性能否支持。
  2. 企业离线任务增量大,平台是否拥有良好的扩展性和处理能力。
  3. 企业非专业开发人员对于配置调度的易用性要求严格,需要能支持SQL化操作及友好的配置界面,以达到'平民化'且易于使用的体验。

这些场景在数据开发领域十分的常见,那么怎么才能很好的解决这些个问题呢?

可以说,DolphinScheduler就能很好地解决上述问题。本文的内容也比较简单,下面我会先明海豚调度有什么优势,再分享使用Python来调用 API 接口的实操演示。

什么是海豚调度?有什么优势?

Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。 适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。

file

Apache DolphinScheduler 在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。解决数据研发ETL依赖错综复杂,无法监控任务健康状态的问题。DolphinScheduler 以 DAG(Directed Acyclic Graph,DAG)流式方式组装任务,可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。

DolphinScheduler 的主要特性如下:

  • 易于部署 提供四种部署方式,包括Standalone、Cluster、Docker和Kubernetes。
  • 简单易用 通过四种方式创建和管理工作流(Web UI、Python SDK、Yaml文件和Open API),还有可视化DAG和模块化操作。
  • 高可靠性 多主多从的去中心化架构,原生支持横向扩展。
  • 性能强大 性能比其他编排平台快N倍,每天可支持千万级任务。
  • 云原生 DolphinScheduler支持编排多云/数据中心工作流,支持自定义任务类型。
  • 高扩展性 支持多租户和在线资源管理。支持每天10万个数据任务的稳定运行。

海豚调度使用Python编写API接口有什么好处?

经常使用ETL工具的同学应该都知道,调用API接口可以用里面HTTP的插件进行对接。然而在数据安全性要求越来越高的今天,API方通常都会在请求参数里面添加自定义加密算法加密后的参数,普通的HTTP插件已经无法满足接口安全性的需求。

面对复杂的加密算法,使用一门编程语言来编写无疑是不二之选,至于为什么使用Python来编写,有以下几个理由:

  • Python简单易上手,生态丰富。
  • 只需要一个py文件就能在DolphinScheduler被直接调用,无需复杂的语言环境以及安装部署。
  • API接口通常都会有Python版的样例代码,加密算法甚至可以直接引用,更加便于开发者开发。

file

2.0.5 版本更新之后,Apache DolphinScheduler 新增了 Python API 功能,用户可以通过 Python 脚本编排工作流,最后实现工作流的创建、更新、调度等操作,这给 Python 用户带来了很多便利。

具体实操步骤

1、在创建工作流的时候拖出Python插件,填写节点名称,以及写入对应的Python脚本(图中资源栏的python文件需要在第2点中上传)。

file

file

2、资源中心的文件管理可以上传py文件作为资源,供第1点创建工作流的时候使用(第1点中import的文件就是文件管理中的资源)。

file

如果企业有任务调度需求的场景,可以尝试使用DolphinScheduler,丰富的任务类型可以满足我们实际场景下复杂的逻辑。

以上的内容,我相信能够解决大家日常工作遇到对于DolphinScheduler使用Python调用API接口的问题。如果您想要进一步了解DolphinScheduler,欢迎进入DolphinScheduler开源社区交流群。(V17743592110)

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

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

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

相关文章

2024骨传导耳机品牌推荐!深度实测五大超值尖货!

作为一位有着十余年数码测试经验的博主,近期经常收到粉丝朋友询问哪款骨传导耳机值得入手之类的问题,骨传导耳机作为当下非常热门的蓝牙机型,拥有不入耳佩戴更健康舒适等问题,那么在本次的耳机选购课堂中,主要想跟大家…

Craft:年度 Mac 应用,卡片式笔记新星

今年的年度 Mac 应用大奖颁给了Craft,这是一款集笔记、文档和个人管理于一体的独特工具。Craft 最大的亮点在于其卡片式的交互设计,这种设计让信息组织变得更加直观且高效。 尽管它仅上线了一年时间,但已经展现出了不输于许多老牌笔记应用的…

【MySQL】数据库基础认识

W...Y的主页 😊 代码仓库分享💕 目录 1. 数据库基础 1.1 什么是数据库 1.2 主流数据库 1.3 基本使用 1.3.1 MySQL安装 1.3.2 连接服务器 1.3.3 服务器管理 1.3.4 服务器,数据库,表关系 1.3.5 使用案例 1.3.6 数据逻…

一些做题中总结的零散的python函数的简单运用

输出保留两位数的小数 将16进制(可修改)的数进制转换成十进制并输出 大小写转化,第一个是搞成全部大写的,第二个高成全部小写的,最后一个是搞成第一个是大写的其他全部是小写的 将这个n的两边空格去掉 使用print(n,end…

什么是PPT,怎么制作?5款办公必备的幻灯片制作软件!

要说职场人日常离不开的两样东西,非幻灯片和PPT莫属,不论是日常会议、项目汇报还是客户展示,幻灯片和PPT都扮演着至关重要的角色。 然而,很多人可能会混淆幻灯片和PPT这两个概念,认为它们是同一回事。事实上&#xff…

OpenHarmony(鸿蒙南向)——平台驱动开发【PWM】

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 概述 功能简介 PWM(Pulse Width Modulation&#xff…

用通义灵码如何快速合理解决遗留代码问题?

本文首先介绍了遗留代码的概念,并对遗留代码进行了分类。针对不同类型的遗留代码,提供了相应的处理策略。此外,本文重点介绍了通义灵码在维护遗留代码过程中能提供哪些支持。 什么是遗留代码 与过时技术相关的代码: 与不再受支持的…

Day 43~48 smbms

SMBMS SMBMS是超市订单管理系统的简称 数据库: 项目如何让搭建? 考虑使用不使用Maven? 依赖,jar 项目搭建准备工作 1.搭建一个mavenweb项目 2.配置Tomcat 3.测试项目是否能够跑起来 4.导入项目中会遇到的jar包 jsp,servle…

在nuxt中集成mars3d

创建一个nuxt项目 创建一个项目&#xff0c;安装依赖 安装mars3d ,安装mars3d-cesium 替换app.vue <template><div id"mars3dContainer" class"mars3d-container"></div><!-- <div>123</div> --> </template&…

无人机之模拟图传篇

无人机的模拟图传技术是一种通过模拟信号传输图像数据的方式&#xff0c;它通常使用无线电模块或专用通信协议进行数据传输。 一、基本原理 模拟图传技术的工作原理是将摄像头或相机设备采集到的图像数据&#xff0c;通过模拟信号的形式进行传输。这些模拟信号在传输过程中可能…

贪心算法专题(一)

目录 1、贪心算法简介 1.1 什么是贪心算法 1.2 贪心算法的特点 1.3 贪心算法的学习方向 2、算法应用【leetcode】 2.1 题一&#xff1a;柠檬水找零 2.1.1 算法原理 2.1.2 算法代码 2.2 题二&#xff1a;将数组和减半的最少操作次数 2.2.1 算法原理 2.2.2 算法代码 2…

OpenCV图像文件读写(4)解码图像数据函数imdecode()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 从内存缓冲区读取图像。 imdecode 函数从指定的内存缓冲区读取图像。如果缓冲区太短或包含无效数据&#xff0c;函数将返回一个空矩阵 (Mat::dat…

双十一数码什么值得买?盘点双十一最值得入手的数码好物

每年双11已经成为了人们购物的重要节点&#xff0c;除了手机外的其他数码产品也是购物清单上不可或缺的一部分。我们的生活和工作中&#xff0c;使用的数码产品越来越多。是时候给大家种草一波3C数码好物了&#xff0c;键盘、鼠标、平板、耳机、显示器啥都有&#xff0c;产品虽…

Web端云剪辑解决方案,支持多种滤镜、转场、贴纸、粒子、蒙版类特效效果

美摄科技隆重推出其革命性的Web端云剪辑解决方案&#xff0c;旨在为全球创作者提供一站式、高效能、云端化的视频编辑新体验&#xff0c;让视频创作不再受限于时间与空间&#xff0c;轻松实现专业级的视觉效果。 【云端赋能&#xff0c;创意无界】 美摄科技的Web端云剪辑解决…

“接口测试简介”——实现接口测试,软件自动化测试入门攻略

实现接口测试 接口测试是检查程序各部分之间的交互点&#xff0c;从无测试到手工测试、借助脚本或工具实现自动化测试以及测试平台的构建&#xff0c;接口测试近几年发展非常迅速&#xff0c;许多企业也都开始重视接口测试&#xff0c;因此&#xff0c;接口测试也成了测试人员…

php在线相册

1、将静态页面效果完成 解压到www里 整个数据 暂时是错误的 建立连接密码为root 运行sql文件 开始 测试 导入alumbenew2 2.提交表单方式 3.利用php获取表单值的方法

三目运算判断字母大小写-C语言

1.问题&#xff1a; 输入一个字符&#xff0c;判别它是否为大写字母&#xff0c;如果是&#xff0c;将它转换成小写&#xff0c;如果不是&#xff0c;不转换。然后输出最后得到的字符&#xff0c;要求使用三目运算符。 2.解答&#xff1a; 用条件表达式来处理&#xff0c;当字…

【C++进阶】2024年了set、map还搞不懂底层细节?

&#x1f680;个人主页&#xff1a;小羊 &#x1f680;所属专栏&#xff1a;C 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 一、前情提要1、什么是关联式容器&#xff1f;2、键值对又是什么&#xff1f; 二、树形结构的关联式容器1、set1.1…

细说机房安装带孔的通风防静电地板的原因

静电在我们的日常生活中无处不在&#xff0c;但在机房等特殊环境中&#xff0c;静电却可能带来巨大的危害&#xff0c;为了防止静电带来的危害&#xff0c;很多机房都会安装防静电地板。其中有一部分机房会安装带孔的通风防静电地板&#xff0c;那么带孔的通风防静电地板有什么…

小程序-生命周期与WXS脚本

生命周期 什么是生命周期 生命周期&#xff08;Life Cycle&#xff09;是指一个对象从创建 -> 运行 -> 销毁的整个阶段&#xff0c;强调的是一个时间段。 我们可以把每个小程序运行的过程&#xff0c;也概括为生命周期&#xff1a; 小程序的启动&#xff0c;表示生命…