1.前提条件是:第一步应该在本地安装好 jdk 、 maven 、 python的基础环境。


(注意:这里使用的python最好使用python 2.X。因为使用python 3.X会出现一个问题。这里不做说明)

2.在DataX的官网上下载压缩包,然后解压到自定义的文件夹里面。
3. win +R 输入cmd命令。进入命令行模式。
然后进入安装的DataX的bin目录下。输入python datax.py …/job/json/job.json命令。(注意:这里我在job文件夹下添加了一个json的文件夹。默认是没有json文件夹。你们根据自己的文件路径输入命令即可)

4.如果出现乱码,在命令行输入 CHCP 65001 ,并且重新执行命令python datax.py …/job/json/job.json

成功运行!!
5.基本使用
5.1从stream读取数据并打印到控制台
首先查看官方的json配置模板

//查看streamreader-->streamwriter模板
E:\DataX\datax\bin>datax.py -r streamreader -w streamwriter
//模板如下:
DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.Please refer to the streamreader document:https://github.com/alibaba/DataX/blob/master/streamreader/doc/streamreader.mdPlease refer to the streamwriter document:https://github.com/alibaba/DataX/blob/master/streamwriter/doc/streamwriter.mdPlease save the following configuration as a json file and  usepython {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json
to run the job.{"job": {"content": [{"reader": {"name": "streamreader","parameter": {"column": [],"sliceRecordCount": ""}},"writer": {"name": "streamwriter","parameter": {"encoding": "","print": true}}}],"setting": {"speed": {"channel": ""}}}
}

根据模板编写json文件

{"job": {"content": [{"reader": {"name": "streamreader", "parameter": {"column": [{"type":"string","value":"qijianing, hello world!"},{"type":"string","value":"齐家宁, 你好!"}], "sliceRecordCount": "10"  //打印次数}}, "writer": {"name": "streamwriter", "parameter": {"encoding": "utf-8", //编码格式utf-8"print": true}}}], "setting": {"speed": {//控制并发数"channel": "2"//控制并发2次-->这里因为是打印所以会sliceRecordCount乘以channel 打印20遍。如果设置为mysql真的会进行并发}}}
}

在job/json下创建json类型的文件起名为stream2stream.json。然后在bin目录下运行python datax.py …/job/json/stream2stream.json 。运行结果如下图所示:
5.2从mysql到mysql批量插入。
5.2.1查看一下从mysql到mysql的json配置

E:\DataX\datax\bin>datax.py -r mysqlreader -w mysqlwriter
//json文件配置
DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.Please refer to the mysqlreader document:https://github.com/alibaba/DataX/blob/master/mysqlreader/doc/mysqlreader.mdPlease refer to the mysqlwriter document:https://github.com/alibaba/DataX/blob/master/mysqlwriter/doc/mysqlwriter.mdPlease save the following configuration as a json file and  usepython {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json
to run the job.{"job": {"content": [{"reader": {"name": "mysqlreader",//读取端,根据DataX定义好的设置"parameter": {"column": [],//读取端需要同步的列"connection": [{"jdbcUrl": [],//读取端连接信息"table": []//读取端指定的表}],"password": "",//读取端密码"username": "",//读取端账户"where": ""//筛选条件}},"writer": {"name": "mysqlwriter",//写入端,根据DataX定义好的设置"parameter": {"column": [],//写入端需要同步的列"connection": [{"jdbcUrl": "",//写入端的连接信息"table": []//写入端指定的表}],"password": "",//写入端的密码"preSql": [],//执行写入之前做的事情"session": [],"username": "",//写入端账户"writeMode": ""}}}],"setting": {"speed": {"channel": ""//指定channel数}}}
}

我的配置的json

{"job": {"content": [{"reader": {"name": "mysqlreader","parameter": {"column": ["*"],"connection": [{"jdbcUrl": ["jdbc:mysql://localhost:3306/eesy2?characterEncoding=utf-8"],"table": ["account1"]}],"password": "****",//这里填写自己的用户名和密码"username": "****","where": ""}},"writer": {"name": "mysqlwriter","parameter": {"column": ["*"],"connection": [{"jdbcUrl": "jdbc:mysql://localhost:3306/eesy1?characterEncoding=utf-8","table": ["account"]}],"password": "****",//这里填写自己的用户名和密码"preSql": [],"session": [],"username": "****","writeMode": "insert"}}}],"setting": {"speed": {"channel": "5"}}}
}

然后cd到bin目录下去执行。

成功将数据同步到mysql。
6.在从mysql到mysql同步数据的过程中,出现了一些问题:
因为要同步的两张表都定义了主键。当同步两张表的数据的时候。相同主键的数据无法进行同步。所以只同步成功了两张表主键不一致的数据。
所以,接下来对json文件进行一下修改。

{"job": {"content": [{"reader": {"name": "mysqlreader","parameter": {"column": ["name","money"],//这里只同步name、money。对主键字段id不进行同步。采用自增长的方式增加id。"connection": [{"jdbcUrl": ["jdbc:mysql://localhost:3306/eesy2?characterEncoding=utf-8"],"table": ["account1"]}],"password": "root","username": "root","where": ""}},"writer": {"name": "mysqlwriter","parameter": {"column": ["name","money"],//接收端的接收的字段也要和发送端保持一致的。"connection": [{"jdbcUrl": "jdbc:mysql://localhost:3306/eesy1?characterEncoding=utf-8","table": ["account"]}],"password": "root","preSql": [],"session": [],"username": "root","writeMode": "insert"}}}],"setting": {"speed": {"channel": "5"}}}
}

运行结果如下:
第二次同步数据:
可以看出,数据并没有覆盖,而是在下面重复同步了一份数据。

windows下的DataX的安装和使用教程相关推荐

  1. Windows下R语言环境安装

    Windows下R语言环境安装 R官网: https://www.r-project.org/ 按照如下步骤下载windows中的安装文件R-4.1.0-win.exe 文件已经下载完成:R-4.1. ...

  2. Windows下Go语言的安装和运行

    参考:https://blog.csdn.net/SquirrelYuyu/article/details/82776029 Windows下Go语言的安装和运行 文章目录 Go语言的安装与配置 Go ...

  3. Windows下VisualSVN Server的安装与配置方法(图文)

    这篇文章主要介绍了Windows下VisualSVN Server的安装与配置方法,比较详细,需要的朋友可以参考下 VisualSVN Server是免费的,而VisualSVN是收费的.Visual ...

  4. iis怎么更换php版本,Windows 下PHP+IIS的安装方法(PHP版本为5.0)

    Windows 下PHP+IIS的安装方法(PHP版本为5.0) 最近需要使用下PHP相关的东西,查找了一些资料,现将PHP配置方法记录一下,以免以后忘记,呵呵,初学者,各位同学不要拍砖,开始正题,主 ...

  5. windows 下的CACTI的安装方法

    windows 下的CACTI的安装方法 记得第一次工作的时候,主管非得让我学在windows 下的CACTI的安装,把我急的,明明是Linux下的东东,硬让我在windows下面装,不过有不敢不听话 ...

  6. windows下 python 使用 pip 安装TA-Lib报错的原因及解决方法

    windows下 python 使用 pip 安装TA-Lib报错的原因及解决方法 问题环境 问题描述 问题原因 & 解决办法 问题环境 Windows 10 x64 .python 3.8. ...

  7. 通过cmd命令,使Scite在windows下构建,并安装lua环境与中文乱码问题

    通过cmd命令,使Scite在windows下构建,并安装lua环境与中文乱码问题 Scite工具下载与安装 https://scite.en.softonic.com/download 1.下载完后 ...

  8. windows下es以及kibana安装

    windows下es以及kibana安装 文章目录 windows下es以及kibana安装 前言 一.es是什么? 二.安装包下载 三.es安装 四. kibana 安装 五. ik分词器 安装 六 ...

  9. Windows下ruby的pry安装和配置

    Windows下ruby的pry安装和配置 pry是一个增强型的交互式命令行工具,比irb强大. 有自动完成功能,自动缩进,有颜色.有更强大的调试功能. pry 安装很简单. 在终端输入: gem i ...

  10. Windows下 matlab BNT 工具包安装

    Windows下 matlab BNT 工具包安装 BNT 工具包下载 BNT工具包安装 BNT 工具包下载 官方下载地址 github下载地址:https://github.com/bayesnet ...

最新文章

  1. XHProf安装使用笔记
  2. Win7与其它Windows的双系统问题
  3. RoBERTa中文预训练模型:RoBERTa for Chinese
  4. AD管控下的弹性云桌面和文件共享最佳实践
  5. Linux下的查找命令
  6. mysql从dos界面_从DOS界面进入MYSQL数据库
  7. python数据去重的函数_python pandas dataframe 去重函数的具体使用
  8. 面向对象设计之CRC卡片
  9. nagios流量监控报警
  10. 静态内部类、局部内部类、匿名内部类、lamda表达式
  11. python保存与加载LGBM模型,并解决报错TypeError: Need at least one training dataset or model file or model string..
  12. 实时数据处理环境搭建flume+kafka+storm:4.storm安装配置
  13. Linux安装SmartSVN及破解
  14. iis mysql 无法启动_Windows下使用IIS搭建PHP环境无法开启Mysql支持的解决方法
  15. html实现“设为首页”加入收藏”代码
  16. 【单片机基础篇】51单片机流水灯
  17. als算法参数_矩阵分解之交替最小二乘ALS
  18. C语言:计算个人所得税
  19. html导出excel换行,ASP.NET 导出到Excel时保留换行的代码
  20. 非主流照片的PS教程!

热门文章

  1. acer软件保护卡怎么解除_Acer软件保护卡
  2. nokia n9 android 4.4,NOKIA N9获APK兼容层 可安装Android应用
  3. SQL Prompt教程:使用SQL提示代码分析避免T-SQL技术债务
  4. 计算机网络课程实验5——交换机VLAN
  5. Elasticsearch——》es近义词(同义词)配置
  6. python代理池搭建
  7. SQL Server安装教程
  8. 关于安装NTKO Office插件的方法
  9. C++高校水电费管理系统
  10. 欧姆龙plc的I/O存储器区详解(Omron FINS)