![GitHub contributors](https://img.shields.io/github/contributors/WeiYe-Jing/datax-web)
![GitHub issues](https://img.shields.io/github/issues/WeiYe-Jing/datax-web)
![GitHub](https://img.shields.io/github/license/WeiYe-Jing/datax-web)
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/WeiYe-Jing/datax-web)
![](https://img.shields.io/badge/qq%E7%BE%A4-776939467-green.svg)
# DataX-Web
[![Stargazers over time](https://starchart.cc/WeiYe-Jing/datax-web.svg)](https://starchart.cc/WeiYe-Jing/datax-web)
DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易用的
操作界面,降低用户使用DataX的学习成本,缩短任务配置时间,避免配置过程中出错。用户可通过页面选择数据源即可创建数据同步任务,支持RDBMS、Hive、HBase、ClickHouse、MongoDB等数据源,RDBMS数据源可批量创建数据同步任务,支持实时查看数据同步进度及日志并提供终止同步功能,集成并二次开发xxl-job可根据时间、自增主键增量同步数据。
任务"执行器"支持集群部署,支持执行器多节点路由策略选择,支持超时控制、失败重试、失败告警、任务依赖,执行器CPU.内存.负载的监控等等。后续还将提供更多的数据源支持、数据转换UDF、表结构同步、数据同步血缘等更为复杂的业务场景。
# Architecture diagram:
![](https://datax-web.oss-cn-hangzhou.aliyuncs.com/doc/DataX-Web.png)
# System Requirements
- Language: Java 8(jdk版本建议1.8.201以上)<br>
Python2.7(支持Python3需要修改替换datax/bin下面的三个python文件,替换文件在doc/datax-web/datax-python3下)
- Environment: MacOS, Windows,Linux
- Database: Mysql5.7
# Features
- 1、通过Web构建DataX Json;
- 2、DataX Json保存在数据库中,方便任务的迁移,管理;
- 3、Web实时查看抽取日志,类似Jenkins的日志控制台输出功能;
- 4、DataX运行记录展示,可页面操作停止DataX作业;
- 5、支持DataX定时任务,支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;
- 6、调度采用中心式设计,支持集群部署;
- 7、任务分布式执行,任务"执行器"支持集群部署;
- 8、执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行;
- 9、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等;
- 10、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
- 11、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务;
- 12、任务失败重试:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;
- 13、任务失败告警;默认提供邮件方式失败告警,同时预留扩展接口,可方便的扩展短信、钉钉等告警方式;
- 14、用户管理:支持在线管理系统用户,存在管理员、普通用户两种角色;
- 15、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
- 16、运行报表:支持实时查看运行数据,以及调度报表,如调度日期分布图,调度成功分布图等;
- 17、指定增量字段,配置定时任务自动获取每次的数据区间,任务失败重试,保证数据安全;
- 18、页面可配置DataX启动JVM参数;
- 19、数据源配置成功后添加手动测试功能;
- 20、可以对常用任务进行配置模板,在构建完JSON之后可选择关联模板创建任务;
- 21、jdbc添加hive数据源支持,可在构建JSON页面选择数据源生成column信息并简化配置;
- 22、优先通过环境变量获取DataX文件目录,集群部署时不用指定JSON及日志目录;
- 23、通过动态参数配置指定hive分区,也可以配合增量实现增量数据动态插入分区;
- 24、任务类型由原来DataX任务扩展到Shell任务、Python任务、PowerShell任务;
- 25、添加HBase数据源支持,JSON构建可通过HBase数据源获取hbaseConfig,column;
- 26、添加MongoDB数据源支持,用户仅需要选择collectionName即可完成json构建;
- 27、添加执行器CPU、内存、负载的监控页面;
- 28、添加24类插件DataX JSON配置样例
- 29、公共字段(创建时间,创建人,修改时间,修改者)插入或更新时自动填充
- 30、对swagger接口进行token验证
- 31、任务增加超时时间,对超时任务kill datax进程,可配合重试策略避免网络问题导致的datax卡死。
- 32、添加项目管理模块,可对任务分类管理;
- 33、对RDBMS数据源增加批量任务创建功能,选择数据源,表即可根据模板批量生成DataX同步任务;
- 34、JSON构建增加ClickHouse数据源支持;
- 35、执行器CPU.内存.负载的监控页面图形化;
- 36、RDBMS数据源增量抽取增加主键自增方式并优化页面参数配置;
- 37、更换MongoDB数据源连接方式,重构HBase数据源JSON构建模块;
- 38、脚本类型任务增加停止功能;
- 39、rdbms json构建增加postSql,并支持构建多个preSql,postSql;
- 40、数据源信息加密算法修改及代码优化;
- 41、日志页面增加DataX执行结果统计数据;
# Quick Start:
##### 请点击:[Quick Start](https://github.com/WeiYe-Jing/datax-web/blob/master/userGuid.md)
##### Linux:[一键部署](https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md)
# Introduction:
### 1.执行器配置(使用开源项目xxl-job)
![](https://datax-web.oss-cn-hangzhou.aliyuncs.com/doc/executor.png)
- 1、"调度中心OnLine:"右侧显示在线的"调度中心"列表, 任务执行结束后, 将会以failover的模式进行回调调度中心通知执行结果, 避免回调的单点风险;
- 2、"执行器列表" 中显示在线的执行器列表, 可通过"OnLine 机器"查看对应执行器的集群机器;
#### 执行器属性说明
![](https://datax-web.oss-cn-hangzhou.aliyuncs.com/doc/add_executor.png)
```
1、AppName: (与datax-executor中application.yml的datax.job.executor.appname保持一致)
每个执行器集群的唯一标示AppName, 执行器会周期性以AppName为对象进行自动注册。可通过该配置自动发现注册成功的执行器, 供任务调度时使用;
2、名称: 执行器的名称, 因为AppName限制字母数字等组成,可读性不强, 名称为了提高执行器的可读性;
3、排序: 执行器的排序, 系统中需要执行器的地方,如任务新增, 将会按照该排序读取可用的执行器列表;
4、注册方式:调度中心获取执行器地址的方式;
自动注册:执行器自动进行执行器注册,调度中心通过底层注册表可以动态发现执行器机器地址;
手动录入:人工手动录入执行器的地址信息,多地址逗号分隔,供调度中心使用;
5、机器地址:"注册方式"为"手动录入"时有效,支持人工维护执行器的地址信息;
```
### 2.创建数据源
![](https://datax-web.oss-cn-hangzhou.aliyuncs.com/doc/add_datasource.png)
第四步使用
### 3.创建任务模版
![](https://datax-web.oss-cn-hangzhou.aliyuncs.com/doc/template_list.png)
第四步使用
### 4. 构建JSON脚本
- 1.步骤一,步骤二,选择第二步中创建的数据源,JSON构建目前支持的数据源有hive,mysql,oracle,postgresql,sqlserver,hbase,mongodb,clickh
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
DataX doriswriter 插件,用于通过 DataX 同步其他数据源的数据到 Doris 中。(https://doris.apache.org/zh-CN/docs/ecosystem/datax?_highlight=datax#%E5%85%B3%E4%BA%8E-datax) DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易用的 操作界面。 GitHub上的Datax Web项目不支持doriswriter 插件。 本项目是集成了doris,适配doriswriter 插件。
资源详情
资源评论
资源推荐
收起资源包目录
适配datax(包含DorisWriter 插件)的datax_web (1179个子文件)
DataxJsonHelper.class 26KB
CronExpression.class 24KB
JdbcUtils.class 18KB
BaseQueryTool.class 18KB
JobInfo.class 18KB
JobServiceImpl.class 18KB
JobTrigger.class 13KB
JobTemplate.class 13KB
ServiceModelToSwagger2MapperImpl.class 13KB
XxlRpcReferenceBean.class 12KB
ServletUtils.class 10KB
JobDatasource.class 10KB
AdminBizImpl.class 10KB
JobTemplateServiceImpl.class 10KB
XxlRpcProviderFactory.class 9KB
DataXJsonBuildDto.class 9KB
JobLog.class 9KB
JobThread.class 9KB
ProcessCallbackThread.class 9KB
JobExecutor.class 9KB
TriggerCallbackThread.class 9KB
DBUtilErrorCode.class 8KB
JobLogController.class 8KB
JobGroupController.class 8KB
NettyHttpServerHandler.class 8KB
DataxHivePojo.class 8KB
BaseForm.class 8KB
XxlRpcInvokerFactory.class 8KB
JobScheduleHelper.class 8KB
DataxHbasePojo.class 7KB
ExecutorJobHandler.class 7KB
JobInfoController.class 7KB
XxlRpcSpringInvokerFactory.class 7KB
JobFailMonitorHelper.class 7KB
MongoDBQueryTool.class 7KB
RdbmsException.class 7KB
UserController.class 6KB
JobScheduleHelper$1.class 6KB
TriggerParam.class 6KB
SecurityConfig.class 6KB
JWTAuthenticationFilter.class 6KB
ExecutorBizImpl.class 6KB
JobDatasourceController.class 6KB
BasicJsonwriter.class 6KB
JobRegistryMonitorHelper.class 6KB
JobFileAppender.class 6KB
ExecutorRegistryThread.class 6KB
NettyHttpConnectClient.class 6KB
HBaseQueryTool.class 6KB
ScriptUtil.class 6KB
DataxDorisPojo.class 5KB
BuildCommand.class 5KB
JobProjectController.class 5KB
JobRemotingUtil.class 5KB
NettyHttpServer.class 5KB
JobTriggerPoolHelper.class 5KB
JobRegistryController.class 5KB
BasicJsonReader.class 5KB
IpUtil.class 5KB
DataxRdbmsPojo.class 5KB
JobTemplateController.class 5KB
DataXBatchJsonBuildDto.class 5KB
DataxMongoDBPojo.class 5KB
JobProject.class 5KB
JobScheduler.class 5KB
NettyServer$1.class 5KB
JobFailMonitorHelper$1.class 4KB
ConnectClient.class 4KB
JobRegistry.class 4KB
JobLogReportHelper$1.class 4KB
JobAdminConfig.class 4KB
Hbase20XsqlQueryTool.class 4KB
XxlRpcFutureResponse.class 4KB
ProcessUtil.class 4KB
BaseWriterPlugin.class 4KB
ScriptJobHandler.class 4KB
JwtTokenUtils.class 4KB
AESUtil.class 4KB
NettyConnectClient.class 4KB
JobApiController.class 4KB
NettyHttpClientHandler.class 4KB
ExecutorRouteConsistentHash.class 4KB
JobLogGlue.class 4KB
ExecutorRouteLFU.class 4KB
JobLogFileCleanThread.class 4KB
NettyServerHandler.class 4KB
DatasourceQueryServiceImpl.class 4KB
HiveWriterDto.class 4KB
ExecutorRouteStrategyEnum.class 4KB
DasColumn.class 4KB
DateUtil.class 4KB
QueryToolFactory.class 4KB
XxlRpcLoadBalanceLFUStrategy.class 4KB
BaseReaderPlugin.class 4KB
XxlRpcLoadBalanceConsistentHashStrategy.class 4KB
JdbcConstants.class 4KB
JWTAuthorizationFilter.class 4KB
HiveReaderDto.class 3KB
ExecutorRouteLRU.class 3KB
DorisWriter.class 3KB
共 1179 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
西门不止会吹雪
- 粉丝: 74
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0