DataX教程(05)- DataX Web项目实践

简介: DataX教程(05)- DataX Web项目实践

01 引言

通过前面的博文,我们大概把DataX的用法、源码以及配置全部理清了:

那么,我们最终还是要把DataX应用到我们的项目中的,那么该如何使用呢?

在这里,我要推荐下DataX-Web,主要它对于项目使用者来说,提供了一个很清晰的swagger接口文档,以及可视化界面,方便理解流程,本文讲解下。

02 DataX Web概述

Github地址:https://github.com/WeiYe-Jing/datax-web

从下图,可以看到还是挺多星星的。

官方是这样描述的DataX Web的:

DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易用的 操作界面,降低用户使用DataX的学习成本,缩短任务配置时间,避免配置过程中出错。用户可通过页面选择数据源即可创建数据同步任务,支持RDBMSHiveHBaseClickHouseMongoDB等数据源,RDBMS数据源可批量创建数据同步任务,支持实时查看数据同步进度及日志并提供终止同步功能,集成并二次开发xxl-job可根据时间、自增主键增量同步数据。

顺便看看它的架构图:

总结:该项目主要的就是两个核心服务,通过调度中心服务(DataXAdminApplication)来构建任务,然后rpc远程调用调用执行器(DataXExcutor)去执行。

03 DataX Web本地运行

具体的操作步骤本文不再描述,按照官方的文档来一步步操作即可,文档地址:

https://github.com/WeiYe-Jing/datax-web/blob/master/userGuid.md

其实主要分为几个步骤:

  1. 编译DataX源码,并导出编译后的文件夹,前面已经讲过了(可以参考:《DataX教程(02)- IDEA运行DataX完整流程(填完所有的坑)》
  2. 执行bin/db下面的datax_web.sql文件
  3. 修改项目配置,有两个,一是datax_adminresources/application.yml文件,另外一个是datax_executorresources/application.yml文件。

然后需要运行两个服务,分别为:

  • DataXAdminApplication调度中心服务
    -DataXExecutorApplication执行器服务,可做集群

04 DataX Web简单使用

启动成功后打开页面(默认管理员用户名:admin 密码:123456) http://localhost:8080/index.html#/dashboard

ok,现在我想把本地MySQL数据库(bm_wxcp)里表(t_sync_log)的所有内容同步到本地SQLServer数据库(datax_web)里的表(t_sync_log_target),该如何操作呢?下面来说说。

4.1 step1: 新增数据源

首先需要新增本地的MySQL和SQLServer数据源:

新增完成后:

4.2 step2: 新增任务模板

新增DataX任务模板,我这里新增了一个每30秒执行一次的任务:

新增完成:

4.3 step3: 任务构建

新增完任务了,那么现在就到了核心的事情了,就是任务的构建,即可以简单理解为配置DataX能识别的json配置。

从下图可以看到有4个步骤来构建任务,按照提示一步一步来:

①构建reader:

②构建writer:

③ 字段映射:

④ 构建任务(构建->选择模板->下一步)

⑤ 启动任务

4.4 step4: 查看任务

启动完成后,在日志管理模块,可以看到任务的执行结果:

在SQLServer目标源,可以看到同步成功结果:

05 文末

本文主要讲了DataX Web的概念以及基本使用,具体的源码需要去Debug并应用到实际的项目中去,本文完!

目录
相关文章
|
1月前
|
网络安全 开发工具 数据安全/隐私保护
|
16天前
|
JavaScript 前端开发 开发工具
web项目规范配置(husky、eslint、lint-staged、commit)
通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。
32 5
|
14天前
|
前端开发 JavaScript 开发工具
从框架到现代Web开发实践
从框架到现代Web开发实践
24 1
|
17天前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
17天前
|
前端开发 开发者 UED
移动优先:响应式设计在现代Web开发中的实践策略
【10月更文挑战第29天】在现代Web开发中,响应式设计已成为不可或缺的实践策略,使网站能适应各种设备和屏幕尺寸。本文介绍了移动优先的设计理念,对比了移动优先与桌面优先的策略,探讨了流式布局与固定布局的区别,详细讲解了CSS媒体查询的使用方法,并强调了触摸和手势支持及性能优化的重要性。
30 1
|
29天前
|
开发框架 自然语言处理 PHP
PHP在Web开发中的持久魅力与创新实践###
【10月更文挑战第17天】 本文探讨了PHP作为一门老牌却充满活力的编程语言,在现代Web开发中的独特优势和未来趋势。通过分析其简洁性、灵活性、强大生态系统及不断创新的特性,本文旨在揭示PHP为何能持续吸引开发者,并在技术快速迭代的时代保持竞争力。同时,文章也展望了PHP在未来Web开发领域的发展潜力,强调其在技术创新和社区支持下,依然能够引领Web开发的新潮流。 ###
38 9
|
23天前
|
JavaScript 前端开发 数据安全/隐私保护
Web开发者必看:手把手教你如何轻松播放m3u8流地址,解锁视频播放新技能,让你的项目更上一层楼!
【10月更文挑战第23天】随着互联网技术的发展,m3u8格式因良好的兼容性和高压缩率被广泛用于网络流媒体传输。本文介绍如何在Web端播放m3u8流地址,包括引入视频播放器(如Video.js)、创建播放器容器、初始化播放器及播放m3u8流的具体步骤。此外,还涉及处理加密m3u8流的示例。
71 1
|
23天前
|
SQL 安全 Go
PHP在Web开发中的安全实践与防范措施###
【10月更文挑战第22天】 本文深入探讨了PHP在Web开发中面临的主要安全挑战,包括SQL注入、XSS攻击、CSRF攻击及文件包含漏洞等,并详细阐述了针对这些风险的有效防范策略。通过具体案例分析,揭示了安全编码的重要性,以及如何结合PHP特性与最佳实践来加固Web应用的安全性。全文旨在为开发者提供实用的安全指南,帮助构建更加安全可靠的PHP Web应用。 ###
32 1
|
1月前
|
JSON 搜索推荐 API
Python的web框架有哪些?小项目比较推荐哪个?
【10月更文挑战第15天】Python的web框架有哪些?小项目比较推荐哪个?
52 1
|
1月前
|
存储 安全 数据库
后端技术在现代Web开发中的实践与创新
【10月更文挑战第13天】 本文将深入探讨后端技术在现代Web开发中的重要性,通过实际案例分析展示如何利用先进的后端技术提升用户体验和系统性能。我们将从基础架构设计、数据库优化、安全性保障等方面展开讨论,为读者提供清晰的指导和实用的技巧。无论是新手开发者还是经验丰富的技术人员,都能从中获得启发和帮助。
35 2