基于dolphinscheduler on datax的自动数据同步

在使用dolphinscheduler基于datax进行mysql表数据同步到hive时, 当mysql表数量较大时,配置的dolphin datax任务链的工作量大且容易出错,所有开发了此简易web项目自动生成datax json文件,自动创建hive表,一键生成dolophin任务链实现自动化数据同步。
源码github地址:https://github.com/zz-big/gather.git
如果觉得还不错,请star下。

dolphinscheduler官网:https://dolphinscheduler.apache.org/zh-cn/docs/1.3.6/user_doc/quick-start.html
项目暂没有实现数据同步初始化,因为数据源的表实在太乱了,全部适配感觉工作量太大,可以先生成dolphin任务链后自己手动修改下执行一次完成数据初始化。

编译:

mvn clean install

项目流程:

数据流向:mysql–>datax–>hive_stg–>hive_ods

整体项目流程图:

基于dolphinscheduler on datax的自动数据同步_第1张图片

时序图:

基于dolphinscheduler on datax的自动数据同步_第2张图片

运行

创建测试数据:

​ 1.运行resource/gather.sql创建mysql测试库和表

​ 2.创建hive dc_stg和dc_ods库

create database dc_stg;

create database dc_ods;

gather.properties需要修改的配置项:

#mysql
MysqlUrl=jdbc:mysql://localhost:3306
MysqlUser=xxx
MysqlPassword=xxx
MysqlDB=gather
MysqlTableName=gather_data

#是否创建hive表
createTable=true
#hive jdbc
hiveUrl=jdbc:hive2://pd-cdh-192-168-xx-node:10000
hiveUser=xxx
hivePassword=xxx

#dolphin url
url=http://159.75.252.xxx:xx
#dolphin个人用户token
token=xxx
#dolphin个人用户数据源
dolphinSqlDatasourceName=xxx
#dolphin的个人用户租户id,default租户id为-1
tenantId=-1

本地idea运行项目

基于dolphinscheduler on datax的自动数据同步_第3张图片
基于dolphinscheduler on datax的自动数据同步_第4张图片
基于dolphinscheduler on datax的自动数据同步_第5张图片

点击run启动项目

使用

基于dolphinscheduler on datax的自动数据同步_第6张图片

新增要采集的表信息:

基于dolphinscheduler on datax的自动数据同步_第7张图片

采集信息显示,新增采集信息默认上线dolphin项目是false,点击上线后会创建dolphin任务流,

并且隐藏掉上线按钮(重复上线会在donphin单个任务中生成多个定时任务)。

上线项目

点击上线,会提示上线成功或失败,上线成功后可点击dolphin主页按钮跳转dolphin主页查看任务信息。

基于dolphinscheduler on datax的自动数据同步_第8张图片

你可能感兴趣的:(hive,mysql)