文章目录

  • 01 引言
  • 02 DataX Web概述
  • 03 DataX Web本地运行
  • 04 DataX Web简单使用
    • 4.1 step1: 新增数据源
    • 4.2 step2: 新增任务模板
    • 4.3 step3: 任务构建
    • 4.4 step4: 查看任务
  • 05 文末

01 引言

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

  • 《DataX教程(01)- 入门》
  • 《DataX教程(02)- IDEA运行DataX完整流程(填完所有的坑)》
  • 《DataX教程(03)- 源码解读(超详细版)
  • 《DataX教程(04)- 配置完整解读》

那么,我们最终还是要把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并应用到实际的项目中去,本文完!

DataX教程(05)- DataX Web项目实践相关推荐

  1. 《Web项目实践》实验报告——Web项目实践基础

    一.实验目的 掌握Web前端开发的基础知识: 掌握Web前端工程开发的基本流程: 二.实验内容 1.使用VSCode开发工具完成"青木商城"网站个人中心页面和订单支付确认页面的编写 ...

  2. web项目实践1-iwebshop项目-页面初始化数据与sql数据库中的数据对比

    当拿到项目后首先应该根据页面初始化数据与SQL数据库中的查询数据进行比对,进行初始化界面测试 初始化页面数据加载分析 1.查询首页的顶级分类 select * from iwebshop_catego ...

  3. java商品管理系统_【Java Web】简易商品信息管理系统——首个Web项目

    正文之前 在学习了一段时间的Java Web的内容之后,当然需要有个项目来练练手,我相信大多数人的首选项目都是信息管理系统吧,所以我选择了商品信息管理系统 目前项目源码已全部上传至GitHub,欢迎大 ...

  4. MyEclipse使用Maven创建web项目+搭建SSM框架教程

    MyEclipse使用Maven创建web项目+搭建SSM框架教程 博文中的代码:链接:http://pan.baidu.com/s/1o8tqIMI 密码:m3si 安装maven和配置 1.下载m ...

  5. Node.js项目实践:构建可扩展的Web应用

    2019独角兽企业重金招聘Python工程师标准>>> Node.js项目实践:构建可扩展的Web应用 <Node.js项目实践:构建可扩展的Web应用>用专业的讲解方式 ...

  6. web项目打包到上线教程_手把手教你在 IntelliJ IDEA 中部署 Web 项目

    关注 逆锋起笔 学习 资源.工具不用愁 「逆锋起笔」公号读者福利 ☞ 程序员进阶必备资源免费送「21种技术方向!」 ☜本文地址:www.cnblogs.com/deng-cc/p/6416332.ht ...

  7. 转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程

    本文是一篇在Myeclipse下构建Java Web项目的初级教程.图文并茂,非常详细.所用的Myeclipse版本是7.5. 第一步:新建Web Project,如下图. 第二步,在弹出的窗口填写下 ...

  8. 在tomcat上部署项目需要打成jar_Spring Boot Web 项目教程,SpringBoot与传统Web 优缺对比...

    1.引子 大家好,在接下里的一段时间里,我会给大家详细的介绍SpringBoot的基本使用,相信学完这门课程以后,你会对SpringBoot有一个清晰的认识,并且能够运用这门比较新颖的技术开发一些小程 ...

  9. Redis在Web项目中的应用与实践

    Redis作为一个开源的(BSD)基于内存的高性能存储系统,已经被各大互联网公司广泛使用,并且有着诸多的应用场景.本篇文章将基于PHP来详细讲解Redis在Web项目中的主要应用与实践. 缓存 这里所 ...

最新文章

  1. Java渐变进度条_Android ProgressBar自定义图片进度,自定义渐变色进度条
  2. 加锁查询 FOR UPDATE 解决表格查询极慢的问题
  3. Arduino可穿戴开发入门教程Arduino开发环境介绍
  4. Feature Schema中Module和File节点属性含义的解释
  5. 推论统计学基础一:Estimation
  6. 浅谈事理图谱认知:系统体系+领域收敛+人机协同+辅助范式
  7. Log4j的应用实例
  8. ONVIF协议网络摄像机(IPC)客户端程序开发(2):第一次使用IPC摄像头
  9. Jquery学习总结(1)——Jquery常用代码片段汇总
  10. java -jar vm参数_java相关:运行jar程序时添加vm参数的方法
  11. php list() ecah(),PHP each()与list()函数
  12. L01-03:python学习之控制语句
  13. 非常经典的C语言知识点总结!
  14. 计算机管理用房设置要求,党政机关办公用房管理系统解决方案
  15. MT【91】空间余弦定理
  16. 【项目】关于杉德支付接口对接
  17. SpringBoot 接口数据加解密
  18. 瑞工 无线打印服务器 评测,7800P 5G无线鼠标赏析
  19. MATLAB面向对象_及_AppDesigner使用
  20. Centos配置NFS

热门文章

  1. 乔布斯遗孀裸捐 250 亿美元财产:没兴趣累积财富
  2. 读源码(七)—— ejs
  3. 大数据传输-文件分段传输
  4. 计算机等级考试电子邮件的保存,计算机基础知识电子邮件使用技巧集锦(二)
  5. 升级为私有全栈云的腾讯云TStack究竟强在了哪儿?
  6. php 微信消息,php实现微信公众号回复消息
  7. easypoi导出excel不设置样式_解决EasyPoi导出excel文件后打开提示格式错误的问题
  8. 在 Ubuntu20.04 上安装 python2 并设置为默认方式
  9. “21 天好习惯”第一期-10
  10. js数据类型-2-从零开始的js