03.DolphinScheduler资源中心

news2024/9/21 3:27:21

文章目录

  • 文件管理
    • 基础操作
      • 创建文件
      • 上传文件
      • 文件查看
      • 下载文件
      • 文件重命名
      • 删除文件
    • 任务样例
      • 创建 shell 文件
      • 创建工作流执行文件
      • 查看结果
  • UDF管理
    • 函数管理
    • 任务样例
      • 编写 UDF 函数
      • 配置 UDF 函数
      • 使用 UDF 函数
  • 任务组管理
    • 任务组配置
      • 新建任务组
      • 查看任务组队列
      • 任务组的使用
    • 任务组的实现逻辑
      • 获取任务组资源:
      • 释放与唤醒:
      • 任务组流程图

文件管理

当在调度过程中需要使用到第三方的 jar 或者用户需要自定义脚本的情况,可以通过在该页面完成相关操作。可创建的文件类型包括:txt/log/sh/conf/py/java 等。并且可以对文件进行编辑、重命名、下载和删除等操作。

注意:

  • 当您以admin身份等入并操作文件时,需要先给admin设置租户

基础操作

file-manage

创建文件

文件格式支持以下几种类型:txt、log、sh、conf、cfg、py、java、sql、xml、hql、properties

create-file

上传文件

上传文件:点击"上传文件"按钮进行上传,将文件拖拽到上传区域,文件名会自动以上传的文件名称补全

upload-file

文件查看

对可查看的文件类型,点击文件名称,可查看文件详情

file_detail

下载文件

点击文件列表的"下载"按钮下载文件或者在文件详情中点击右上角"下载"按钮下载文件

文件重命名

rename-file

删除文件

文件列表->点击"删除"按钮,删除指定文件

任务样例

该样例主要通过一个简单的 shell 脚本,来演示如何在工作流定义中使用资源中心的文件。像 MR、Spark 等任务需要用到 jar 包,也是同理。

创建 shell 文件

创建一个 shell 文件,输出 “hello world”。

create-shell

创建工作流执行文件

在项目管理的工作流定义模块,创建一个新的工作流,使用 shell 任务。

  • 脚本:sh hello.sh
  • 资源:选择 hello.sh

注意:

1.脚本中选择资源文件时文件名称需要保持和所选择资源全路径一致: 例如:资源路径为resource/hello.sh 则脚本中调用需要使用resource/hello.sh全路径

2.在这个sh脚本中引用echo 测试输出Shell文件内容:$[yyyyMMddHHmmss],时间是无法输出的

use-shell

查看结果

可以在工作流实例中,查看该节点运行的日志结果。如下图:

log-shell

UDF管理

  • 资源管理和文件管理功能类似,不同之处是资源管理是上传的 UDF 函数,文件管理上传的是用户程序,脚本及配置文件。

  • 主要包括以下操作:重命名、下载、删除等。

  • 上传 UDF 资源和上传文件相同。

函数管理

  • 创建 UDF 函数

    点击“创建 UDF 函数”,输入 UDF 函数参数,选择udf资源,点击“提交”,创建 UDF 函数。 目前只支持 HIVE 的临时 UDF 函数

  • UDF 函数名称:输入 UDF 函数时的名称

  • 包名类名:输入 UDF 函数的全路径

  • UDF 资源:设置创建的 UDF 对应的资源文件

注意:

创建UDF函数之前,需要再UDF管理->资源管理中上传UDF函数Jar包

image-20230325095242781

任务样例

编写 UDF 函数

用户可以根据实际生产需求,自定义想要的 UDF 函数。这里编写一个在任意字符串的末尾添加 “HelloWorld” 的函数。如下图所示:

code-udf

配置 UDF 函数

配置 UDF 函数前,需要先通过资源管理上传所需的函数 jar 包。然后进入函数管理,配置相关信息即可。如下图所示:

conf-udf

使用 UDF 函数

在使用 UDF 函数过程中,用户只需关注具体的函数编写,通过资源中心上传配置完成即可。系统会自动配置 create function 语句,参考如下:SqlTask

进入工作流定义一个 SQL 节点,数据源类型选择为 HIVE,数据源实例类型为 HIVE/IMPALA。

  • SQL 语句:select HwUdf("abc"); 该函数与内置函数使用方式一样,直接使用函数名称即可访问。
  • UDF 函数:选择资源中心所配置的即可。

use-udf

任务组管理

任务组主要用于控制任务实例并发,旨在控制其他资源的压力(也可以控制 Hadoop 集群压力,不过集群会有队列管控)。您可在新建任务定义时,可配置对应的任务组,并配置任务在任务组内运行的优先级。

任务组配置

新建任务组

用户点击【资源中心】-【任务组管理】-【任务组配置】-新建任务组

image-20230325114023604

您需要输入图片中信息,其中

【任务组名称】:任务组在被使用时显示的名称

【项目名称】:任务组作用的项目,该项为非必选项,如果不选择,则整个系统所有项目均可使用该任务组。

【资源容量】:允许任务实例并发的最大数量

查看任务组队列

image-20230325114204983

任务组的使用

注:任务组的使用适用于由 worker 执行的任务,例如【switch】节点、【condition】节点、【sub_process】等由 master 负责执行的节点类型不受任务组控制。

我们以 shell 节点为例:

use-queue

关于任务组的配置,您需要做的只需要配置红色框内的部分,其中:

【任务组名称】:任务组配置页面显示的任务组名称,这里只能看到该项目有权限的任务组(新建任务组时选择了该项目),或作用在全局的任务组(新建任务组时没有选择项目)

【组内优先级】:在出现等待资源时,优先级高的任务会最先被 master 分发给 worker 执行,该部分数值越大,优先级越高。

任务组的实现逻辑

获取任务组资源:

Master 在分发任务时判断该任务是否配置了任务组,如果任务没有配置,则正常抛给 worker 运行;如果配置了任务组,在抛给 worker 执行之前检查任务组资源池剩余大小是否满足当前任务运行,如果满足资源池 -1,继续运行;如果不满足则退出任务分发,等待其他任务结束唤醒。

释放与唤醒:

当获取到任务组资源的任务结束运行后,会释放任务组资源,释放后会检查当前任务组是否有任务等待,如果有则标记优先级最好的任务可以运行,并新建一个可以执行的event。该event中存储着被标记可以获取资源的任务id,随后在获取任务组资源然后运行。

任务组流程图

task_group

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

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

相关文章

【刷题】Java日常刷题1

A.Sort the Subarray 题意:给出一个数组,一个在此基础上被操作过的数组,找出被操作过的最长的非递减连续序列。 题解:这道题最开始写就被给的样例迷惑了,给出的样例都是被操作过出现非递减序列的片段,因此…

No.049<软考>《(高项)备考大全》【冲刺3】《软考之 119个工具 (1)》

《软考之 119个工具 (2)》 1.专家判断2.引导技术:3.项目管理信息系统:4.会议:5.分析技术:6.变更控制工具:7.访谈:8.焦点小组会议:9.引导式研讨会:10.群体创新技术:11.群体决策技术:12.问卷调查:13.观察:14.原型法:15.标杆对照:16.系统交互图:17.文件分析…

Django基于大数据的应届生求职系统

背景 科学技术日新月异的如今,计算机在生活各个领域都占有重要的作用,尤其在信息管理方面,在这样的大背景下,学习计算机知识不仅仅是为了掌握一种技能,更重要的是能够让它真正地使用到实践中去,以创新的视…

又是DNA甲基化,孕期母亲的压力会影响儿童健康

产前母亲的生活压力事件与后代神经发育不良相关联。研究人员表示,关联的生物学机制大部分是未知的,但在体内发生的一种化学反应——DNA甲基化,即一个小分子甲基被添加到DNA上——可能起着一定作用。这些发现可为了解胎儿环境如何可能影响神经…

【LeetCode】189. 轮转数组

题目链接:https://leetcode.cn/problems/rotate-array/ 📕题目要求: 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 尽可能想出更多的解决方案,至少有 三种 不同的方法可以…

MTC-PD65W1C-CTA1快充电源-使用MTC-650V Cascode D-GaN

本电源模块是65W单一C界面,其输出电压由协议IC可以控制5V/3A, 9V/3A, 15V/3A, 20V/3.25A等电压输出,使用QR/DCM反驰式电路架构于输出20V重载时可达93%效率及功率密度可达1.5W/cm3,本系统采用同系列控制单晶片:QR一次侧控制IC驱动M…

【云计算•云原生】3.一小时熟练掌握docker容器

文章目录 docker简介ubuntu下安装dockerkali下安装dockerdocker基本命令docker搭建mysql、nginx、redis容器/镜像打包搭建私有镜像仓库docker网络管理Dockerfile文件docker-compose.yml示例:搭建lamp docker简介 docker是一个开源的应用容器引擎,可以让…

软件著作权登记版权保护中心下发补正修改指南

本文为大家介绍常见版权中心下发的补正问题及对应修改方法。 一、补正是什么意思? 补正,即增补订正。 下发补正指版权保护中心发现软件著作权登记材料中存在一些格式/内容上的问题,予以驳回。要求著作权人或代理人依照补正意见内容对材料进…

电影《灌篮高手》观后

上周和同学一起看了电影《灌篮高手》这部电影,个人以前没有看过相关漫画和动画,但记得,看过海报和一些宣传物品,有的衣服上,有文具盒上,也都出现过,而且是在自己小时候,可见当时的影…

(中)苹果有开源,但又怎样呢?

上篇(详情请戳:《(上)苹果有开源,但又怎样呢? 》)里说到,苹果首个开源项目 Darwin 的诞生,与乔布斯的复仇归来有着千丝万缕的关系。 作为一个开源的操作系统&#xff0c…

【JAVA】将两个字符串相乘并返回字符串

🖊作者 : D. Star. 📘专栏 : Java 😆今日分享 : 越忙越不能熬夜. —晚安 , 好梦. 将两个字符串相乘并返回字符串 🌻前言:✔题目:🔎代码详情:1.创建字符创对象:2.将字符串转化为数字:3.数字相乘,并转化为字符串家人们,点…

[C++]——C++基础知识点(C++和C语言的区别)

文章目录 1. 前言2. 命名空间2.1 命名空间定义2.2 命名空间使用 3. C的输入输出4. 缺省参数4.1 缺省参数概念4.2 缺省参数分类 5. 函数重载5.1 函数重载概念5.2 C支持函数重载的原理——名字修饰 6. 引用6.1 引用概念6.2 引用特性6.3 常引用6.4 引用的使用场景6.5 引用和指针的…

招商基金数字化转型下的研发管理|ONES 客户案例

在 4 月 20 日举行的《中国企业软件研发管理白皮书》发布会上,招商基金信息技术部副总监、研发中心主管刘志昆作了《招商基金数字化转型下的研发管理》主题演讲,从数字化转型背景、研发管理所遇到的挑战出发,讲述招商基金如何摸索出适合自身环…

Pycharm连接MySQL

使用MySQL内置工具(命令) 创建数据库:unicom 数据表:admin 表名:admin 列:id 整型 自增 主键username 字符串 不为空,password 字符串 不为空,mobile 字符串 不为空 Python代码实…

echarts 象形柱图_矢量图_自定义样式

Echarts 常用各类图表模板配置 注意: 这里主要就是基于各类图表,更多的使用 Echarts 的各类配置项; 以下代码都可以复制到 Echarts 官网,直接预览; 图标模板目录 Echarts 常用各类图表模板配置一、象形柱图二、环形图…

电脑中了勒索病毒,Windows操作系统如何设置才能预防faust勒索病毒攻击?

随着计算机技术的不断发展,勒索病毒的加密程序也有了很大提升,phobos勒索家族也衍生出了各种后缀的勒索病毒,给我们的日常工作生活带来了很大困扰。随着phobos勒索家族的加密程序升级,faust勒索病毒已经成为该家族中较为疯狂的勒索…

BACnet IP通讯方式组网步骤

BACnet IP通讯方式组网步骤 文章目录 BACnet IP通讯方式组网步骤前言一、配置BACnet IP网络参数二、确定DDC控制器和扩展模块的BACnet地址三、配置BACnet对象:四、配置DDC控制器和扩展模块五、测试通信六、实现控制功能七、总结 前言 BACnet IP方式组网的几个优势&…

强烈建议互联网人转战实体和农业,去了就是降维打击!实体太缺人才了,老板也不缺钱!...

大环境不好,互联网人该何去何从? 一位网友提出了一个新思路:强烈建议互联网同学转战实体、农业这些行业。实体真的太缺人才了,目前大部分实体都留下70后、80后在继续奋斗。其实实体老板很多都不缺钱,经过多年积累&…

内外部函数和内存模型

1、函数(封装、复用) 功能性:最基本的特性; 扩展性:对于时刻变化的需求易于扩展; 维护性:对于时刻变化的需求易于维护,易于编码变更; 封装性:不要把所有的代…

sql优化慢查询

1.慢查询设置 慢查询设置(临时) -- 查看是否开启了慢查询日志 show variables like slow%;-- 开启慢查询日志 set global slow_query_log on;-- 更改日志路径 set global slow_query_log_file /data/mydata/app1-slow.log;-- 查看慢查询时间临界值&…