DataX是一款优秀的开源工具,用于实现不同应用场景中的多种异构数据源之间稳定高效的数据同步。它适用于大数据平台间的批量数据传输。
DataX Web 是一款建立在 DataX 之上的分布式数据同步工具,它提供了一个直观易用的操作界面以降低用户使用 DataX 的学习门槛,并缩短任务配置时间,避免了配置过程中可能产生的错误。
该系统允许用户通过页面选择所需的数据源来创建数据同步任务。对于 RDBMS 数据源而言,还支持批量生成同步任务的功能;同时提供了实时查看数据同步进度和日志的能力以及终止正在运行的任务的选项。此外,DataX Web 集成了 xxl-job 并进行了二次开发,使用户能够根据时间或自增主键进行增量的数据同步。
关于执行器的支持,它不仅支持集群部署模式,并且提供多种路由策略选择、超时控制机制、失败重试功能以及故障报警等特性。此外还具备任务依赖管理能力及对执行器的 CPU 和内存负载监控等功能。
未来版本计划增加更多数据源的支持和更复杂的数据转换UDF(用户定义函数)、表结构同步以及追踪数据血缘关系的功能,以满足更为复杂的业务需求场景。
DataX Web 的安装环境要求如下:
- 语言:Java 8 (建议使用 jdk 版本1.8.201 或以上)
- Python: 支持版本为Python 2.7;若需支持 Python3,则需要替换 datax/bin 下的三个python文件
- 环境系统:MacOS, Windows,Linux
- 数据库:MySQL5.7
DataX Web 的主要功能包括:
1. 构建 DataX Json 文件并通过Web界面完成。
2. 将生成的任务数据保存在数据库中,方便任务迁移和管理;
3. 实时查看抽取日志,具有类似 Jenkins 日志控制台的输出能力;
4. 展示DataX运行记录,并允许用户通过页面操作停止作业执行;
5. 支持 DataX 定时任务配置及状态修改功能(启动/停止)。
6. 采用中心式设计支持集群部署
7. 分布式执行器能够自动注册并被调度节点发现;
8. 提供丰富的路由策略和阻塞处理策略,以应对高并发场景下的复杂需求;
9. 支持任务超时控制及失败重试机制,并可自定义相关参数设置。
10. 内置邮件告警机制同时支持扩展其他类型的通知方式(如短信、钉钉等);
11. 系统内置用户管理模块,允许管理员和普通用户角色切换;
12. 支持任务依赖配置,实现基于父级任务成功执行后触发子任务自动运行的功能。
13. 提供详细的调度报表及实时监控界面查看资源使用情况;
14. 能够指定增量字段并根据定时策略获取数据区间以确保数据同步的安全性;
15. 允许用户配置 DataX 启动 JVM 参数,并提供手动测试功能验证连接是否成功。
16. 提供常用任务的模板化创建选项,简化 JSON 文件构建过程;
17. 支持 Hive、MongoDB 和 HBase 等多种数据源类型;
18. 通过环境变量自动获取 DataX 目录路径,在集群部署中无需指定 JSON 及日志目录。
19. 针对增量任务提供动态参数配置功能,支持根据业务场景灵活调整分区策略;
20. 扩展了 Shell、Python 和 PowerShell 等脚本类型的任务执行;
21. 提供图形化的 CPU 内存负载监控页面以方便管理员查看资源使用状态。