今天给大家分享主流大数据调度工具DolphinScheduler,以及数据的ETL流程。
一:调度工具DS
主流大数据调度工具DolphinScheduler,
其定位:解决数据处理流程中错综复杂的依赖关系
任务支持类型:支持传统的shell任务,同时支持大数据平台任务调度:MR、Spark、SQL(mysql、postgresql、hive/sparksql)、python、procedure、sub_process。
二,数据ETL流程(调度流程)
今天分享一个把数据从hive推送到人大金仓数据库的案例。
1,源数据--hive
hive表数据如图所示,
在这里一共5条数据,展示的4个字段都是主键,dt为分区。
2,DS主界面
项目管理主界面,包含了很多的工作流,工作流需要自己配置。
3,创建工作流
在这里,我们写一个export的sheet页,主要实现数据从hive推送到数据库。
dept的内容是指的是前置依赖。
4,工作流内容配置
表名是 f_con_fund_deal_reminder
前缀 export 指的是数据推送,一般就是把数据从hive推送到其他数据库。
最重要的是脚本内容:
这里脚本内容是支持shell任务,所以大家一定要懂shell语法。
当然还要再设置参数,这里根据shell内容来,参数可以设置多个。
5,shell脚本开发
在这里底层逻辑采用datex的方式来进行数据的ETL。
5.1,日期配置
涉及时间或者其他参数的传参。
5.2,源表配置
这里的查询语句 query_sql,是可以将其查询出来的数据进行数据的传输(功能强大!!!)。
5.3,目标表配置
tgt_tab_pkey : 是数据库该表的主键。(下次ETL,如果数据发生变更,会把同主键的数据进行变更。)
tgt_tab_column : 是源表查询出来的字段映射到目标表的字段(映射灵活)。
tgt_pre_sql : 在数据ETL之前,可以先对数据库的表先进行操作(牛逼)。
5.4,其他配置
该调度是自然日跑批还是交易日跑批。
通用配置:这部分不需要大家更改。
底层逻辑采用datex的方式来进行数据的ETL,
写在了comment_data_sync.sh里面了。
6,参数的设置/调度运行
是否补数:就是可以跑批任意哪一天的调度。
调度日期:需要自己设置。然后点击运行。
7,在目标库看ETL结果
查询发现,只有4条数据。要的就是这个,因为我们设置主键了。
同主键数据,会随机插入一条数据。这个大家看步骤一。
8,工作流日志
看看工作日志长啥样,里面运行了什么。
发现有刚刚的shell脚本运行过程:
打印最终数据推送的结果:
好啦,今天这篇主流调度工具DS的简单介绍,以及工作流创建,脚本开发,调度流程,日志查看,一整个流程,就分享到这里。
下次再见!