Apache DolphinScheduler 技术详解进阶(资源中心)
本文介绍了Apache DolphinScheduler的内置参数及其用于调度的应用,包括基础和衍生参数的使用方法。
此外,文章还详细阐述了如何在 DolphinScheduler 中引用依赖资源,例如使用资源中心管理文件和引用脚本,以 Shell 任务为例进行说明。
内置参数
DolphinScheduler提供了一些时间相关的系统参数,方便定时调度使用。
1)基础内置参数
变量名 | 参数 | 说明 |
---|---|---|
system.biz.date | ${system.biz.date} | 定时时间前一天,格式为 yyyyMMdd |
system.biz.curdate | ${system.biz.curdate} | 定时时间,格式为 yyyyMMdd |
system.datetime | ${system.datetime} | 定时时间,格式为 yyyyMMddHHmmss |
2)衍生内置参数
可通过衍生内置参数,设置任意格式、任意时间的日期。
(1)自定义日期格式
可以对[yyyyMMdd],[yyyyMM-dd]。
(2)使用add_months() 函数
该函数用于加减月份, 第一个入口参数为[yyyyMMdd],表示返回时间的格式 第二个入口参数为月份偏移量,表示加减多少个月。
参数 | 说明 |
---|---|
$[add_months(yyyyMMdd,12*N)] | 后 N 年 |
$[add_months(yyyyMMdd,-12*N)] | 前 N 年 |
$[add_months(yyyyMMdd,N)] | 后 N 月 |
$[add_months(yyyyMMdd,-N)] | 前 N 月 |
(3)直接加减数字
在自定义格式后直接“+/-”数字,单位为“天”。
参数 | 说明 |
---|---|
$[yyyyMMdd+7*N] | 后 N 周 |
$[yyyyMMdd-7*N] | 前 N 周 |
$[yyyyMMdd+N] | 后 N 天 |
$[yyyyMMdd-N] | 前 N 天 |
$[HHmmss+N/24] | 后 N 小时 |
$[HHmmss-N/24] | 前 N 小时 |
$[HHmmss+N/24/60] | 后 N 分钟 |
$[HHmmss-N/24/60] | 前 N 分钟 |
3)配置示例
若执行的脚本需要一个格式为 yyyy-MM-dd 的前一天日期的参数,进行如下配置即可
${system.biz.date}
日志结果如下
引用依赖资源
有些任务需要引用一些额外的资源,例如 MR、Spark 等任务须引用 jar 包,Shell 任务需要引用其他脚本等。DolphinScheduler 提供了资源中心来对这些资源进行统一管理。资源中心存储系统可选择本地文件系统或者 HDFS 等。资源中心除了提供文件资源管理功能,还提供了 Hive 自定义函数管理的功能。
下面以 Shell 任务为例,演示如何引用资源中心的其他脚本。
1)点击资源中心,点击创建文件
2)创建文件
3)确保HDFS可以查询到 hello.sh 脚本
4)编辑Node-A中的内容,保存并执行
5)查看任务实例中Node-A结果
Apache DolphinScheduler 作为一个高效的任务调度和管理平台,通过其强大的内置参数和资源中心,为用户提供了灵活的时间调度和资源管理功能。通过掌握这些功能,用户可以更加高效地管理和执行各种计算任务,从而提高整体的工作效率和准确性。
本文由 白鲸开源科技 提供发布支持!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
如何对混合日志进行自动化解析
本文分享自华为云社区《【AIOps】日志分析领域难题:如何对混合日志进行自动化解析?》,作者: DevAI。 AIOps智能运维,是指将AI应用于运维领域,基于已有的运维数据通过AI的方式来解决传统运维没办法解决的问题;本文聚焦在AIOps领域的日志解析子课题。现有的日志解析器 (log parser) 在实际生产应用时面临着两大局限: 一是现有日志解析器假定所有日志都是单行文本,但是实际生产环境中收集到的日志可能包含多行的日志消息(例如Java堆栈和Hadoop计数器),这会导致传统日志解析器逐行提取模版的解析范式无法适用于这些多行日志。二是传统日志解析器依赖固定解析规则,难以满足不同场景下的解析需求。为了解决这些问题,本文提出了一种全新的混合日志解析器:Hue。Hue是一种基于启发式解析树适用于复杂混合日志的日志解析方法。本文在三个混合日志数据集和十六个广泛使用的单行日志数据集上进行了综合评估,混合日志数据集包括真实的华为云线上云服务日志。结果显示Hue在混合日志和单行日志数据上都表现出了最优的解析能力。 1. 混合日志和解析任务介绍 本文定义了混合日志的消息类型包括单行的事件日志...
- 下一篇
Jedis连接池究竟是何物?
一、前言 连接池的用途实际上有过开发经验的朋友都已经比较清楚了,当资源对象的创建/销毁比较耗时的场景下,可以通过"池化"技术,达到资源的复用,以此来减少系统的开销、增大系统吞吐量,比如数据库连接池、线程池、Redis 连接池等都是使用的该方式,而我们在开发场景中使用较为广泛的 Jedis 就是使用了 GenericObjectPool 作为它底层的连接池实现。 二、原理概述 图示 BorrowObject 业务模块通过 BorrowObject 方法从空闲连接队列中获取空闲连接,最长会等待 maxWaitMillis 毫秒,如果拿不到则走 Create。 ReturnObject 把连接重新放回到 IdleObjects 队列中。 类结构 Jedis里如何使用的 一般情况下我们在 Spring Boot 应用中会通过 Spring-Data-Redis 来使用 Redis,而在业务层会通过 RedisTemplate 来进行 Redis 的操作,但是 RedisTemplate 是怎么来的呢?可以看到当我们引入 Spring-Data-Redis 时,就会引入 RedisAutoCon...
相关文章
文章评论
共有0条评论来说两句吧...