DolphinScheduler技术分析(六)

本文详细分析了DolphinScheduler DAO模块下的实体类,包括AlertPluginInstance、Command、Environment、MonitorRecord和ProcessAlertContent。AlertPluginInstance有不同参数的构造函数,Command涉及流程定义和指令参数。Environment使用JsonFormat注解处理时间格式,MonitorRecord用于数据库监控,而ProcessAlertContent利用@JsonInclude过滤空字段。

 2021SC@SDUSC

DophinScheduler dao模块下实体代码详情分析

这篇分析一下几个实体中与最基本实体相比有新东西的地方

AlertPluginInstance警报插件实例:

 AlertPluginInstance类中定义了三个在不同传递参数情况下的实例初始化构造函数,其中第一个为不传递参数,则只初始化creareTime和updateTime:

 其余为普通的get()、set()数据成员函数

Command指令实体:

1.多导入了dolphinscheduler官方提供的包中的方法

 2.本实体中几个特殊的数据成员:

流程定义代码

指令参数(json格式)

任务依赖类型、警告类型

failurestrategy类型的失败策略

Priority类型的进程实例优先级

构造函数定义了一个不提供参数的和一个提供所有参数的

Environment环境实体

 引入了

JsonFormat注解是jackson包里面的一个注解,是一个时间格式化注解,比如我们存储在mysql中的数据是date类型的,当我们读取出来封装在实体类中的时候,就会变成英文时间格式,而不是yyyy-MM-dd HH:mm:ss这样的中文时间,因此我们需要用到JsonFormat注解来格式化我们的时间。

 在ceateTime和updataTime这里用到了这个注解

 

MonitorRecord实体 

主要是对数据库进行监管记录

Flag类型的state主要用来监控数据库运行的是否正常

ProcessAlertContent实体

引入

 实体类上使用@JsonInclude过滤为空的字段

拓展:

1.实体类上使用@JsonPropertyOrder对字段进行排序

2.在需要转换的字段上使用@JsonSerialize并自定义json序列化

引入

 

 @JsonProperty:此注解作用于属性上,作用是把该属性的名称序列化成另一个自己想要的名称

对属性名进行重命名,在java里我们墨守规定驼峰命名,但是在一些特殊的场合下,比如数据库是下划线等,再此我们就可以进行映射

对属性名称重命名,比如在很多场景下Java对象的属性是按照规范的驼峰书写,但在数据库设计时使用的是下划线连接方式

 拓展:

1.@JsonIgnore注解用于属性或者方法上,用来完全忽略被注释的字段和方法对应的属性,即便这个还有其它注解,一般标记在属性或者方法上,返回的json数据不包含被该注解引用的属性或者方法

 2.@JsonIgnoreProperties可以帮我们忽略类中不存在的字段

 

 

 

 

 

 

 

 

 

Apache DolphinScheduler是一个新一代分布式大数据工作流任务调度系统,致力于“解决大数据任务之间错综复杂的依赖关系,整个数据处理开箱即用”。它以 DAG(有向无环图) 的方式将任务连接起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及 Kill任务等操作。目前已经有像IBM、腾讯、美团、360等400多家公司生产上使用。 调度系统现在市面上的调度系统那么多,比如老牌的Airflow, Oozie,Kettle,xxl-job ,Spring Batch等等, 为什么要选DolphinSchedulerDolphinScheduler 的定位是大数据工作流调度。通过把大数据和工作流做了重点标注. 从而可以知道DolphinScheduler的定位是针对于大数据体系。DolphinScheduler 发展很快 很多公司调度都切换到了DolphinScheduler,掌握DolphinScheduler调度使用势在必行,抓住新技术机遇,为跳巢涨薪做好准备。 优秀的框架都是有大师级别的人写出来的,包含了很多设计思想和技术DolphinScheduler也不例外,它是一个非常优秀的框架,用到很多技术和设计思想,本课程会带大家深入DolphinScheduler框架源码,包括设计的思想和技术都会讲解,DolphinScheduler源码很多,会按照模块进行讲解,学习完课程后,不仅可以熟悉DolphinScheduler使用,而且可以掌握很多优秀的设计思想和技术,给自己的技术带来很大提升,为跳巢涨薪做好准备。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值