使用场景

数据库数据迁移解决方案。
DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS 等各种异构数据源之间高效的数据同步功能。

1,拉下项目;

DataX项目地址:https://github.com/alibaba/DataX
在页面中【Quick Start】下,点击【Download DataX】下载地址,如果浏览器不能下载,就换个浏览器。

2,环境

1,Window10 cmd窗口,Lunix;

2,JDK(1.6以上,推荐1.6);

3,安装Python(推荐Python2.6.X),python3 执行语法会错误;

3.1,Python下载地址 搜索版本2.6.6,Download Windows x86-64 MSI installer
3.2,下载,安装,注意文件路径,盘符;
3.3,配置环境变量;
3.3.1,系统属性 -> 环境变量 -> 系统变量 -> Path 编辑 -> 新增 -> python安装路径:D:\Program Files\python

3.4,检查是否安装;
3.4.3,win+r -> cmd -> python
python检查安装.png

4,Apache Maven 3.x (Compile DataX)

3,datax-编写json,执行命令。

3.1,找到datax项目 -> job目录 -> 编写脚本;

示例JSON -> 读:Oracle,写:PostgreSQL

  1. {
  2. "job": {
  3. "setting": {
  4. "speed": {
  5. "channel": 1
  6. },
  7. "errorLimit": {
  8. "record": 0,
  9. "percentage": 0.02
  10. }
  11. },
  12. "content": [
  13. {
  14. "reader": {
  15. "name": "oraclereader",
  16. "parameter": {
  17. "username": "username",
  18. "password": "pwd",
  19. "where": "",
  20. "connection": [
  21. {
  22. "querySql": [
  23. "查询结果SQL,eg:select * from BPSDOONE.tb_bps_blacklistdata WHERE 1=1"
  24. ],
  25. "jdbcUrl": [
  26. "jdbc:oracle:thin:@//IP:端口/XXX"
  27. ]
  28. }
  29. ]
  30. }
  31. },
  32. "writer": {
  33. "name": "postgresqlwriter",
  34. "parameter": {
  35. "print": true,
  36. "encoding": "UTF-8",
  37. "username": "username",
  38. "password": "pwd",
  39. "column": [
  40. "*"
  41. ],
  42. "preSql": [],
  43. "connection": [
  44. {
  45. "jdbcUrl": "jdbc:postgresql://IP:端口/XXX",
  46. "table": [
  47. "[表明]bpsdoone.tb_bps_blacklistdata"
  48. ]
  49. }
  50. ]
  51. }
  52. }
  53. }
  54. ]
  55. }
  56. }

3.2,执行脚本

命令行:python [bin目录]/datax.py [job目录]/demo.json

  1. python [bin目录下]datax.py [job目录下]demo.json

4,问题点收集

1,datax项目下载,压缩包datax.tar.gz;
2,python下载python-2.6.6.amd64.msi,配置环境变量,检查安装是否完成;
3,如果cmd出现乱码,输入CHCP 65001
cmd乱码.png
4,datax项目 job 目录是执行脚本,注意json格式规范;
脚本json格式规范.png

5,写入库-主键自增字段影响插入数据;
写入库-主键自增字段影响插入数据.png
6,网络不通,连不上数据库。
网络不通,连不上数据库.png