在使用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
整体项目流程图:
时序图:
运行 创建测试数据: 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运行项目
点击run启动项目
使用 新增要采集的表信息:采集信息显示,新增采集信息默认上线dolphin项目是false,点击上线后会创建dolphin任务流,
并且隐藏掉上线按钮(重复上线会在donphin单个任务中生成多个定时任务)。
上线项目点击上线,会提示上线成功或失败,上线成功后可点击dolphin主页按钮跳转dolphin主页查看任务信息。



