dataX是阿里开源的离线数据库同步工具
dataX是阿里开源的离线数据库同步工具的使用
DataX介绍:
DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
一句话:dataX是阿里开源的离线数据库同步工具。
DataX设计理念
DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。
支持的数据:
环境搭建
系统要求
系统:Linux/Windows
JDK:1.8+(推荐1.8)
Python:2.6.x(推荐Python2.6.x)
Maven:3.x
凯哥在Windos环境搭建的。资料如下图:
如果本地没有Python环境的话,下载python-2.7.6-amd64.msi。然后点击安装后。
查看python版本号:
如果没有,配置下系统环境变量就可以了。
测试:
将下载的datax.tar.gz解压后,进入到datax目录下的bin中,里面有datax.py文件。可以在cmd中测试:
python E:\datax\bin\datax.py E:\datax\job\job.json
说明:
Python:执行pytho的
E:\xx.py:datax的py脚本
E:\xx.json:同步配置的json文件
如果乱码的话,现在CMD输入:
CHCP 65001
使用示例:
1:从CVS文件中,将数据同步到mysql中
2:从mysql中将数据同步到mysql中
3:从Oracle中将数据同步到mysql中
一:从CVS文件中,将数据同步到mysql中:
1.1:配置json脚本
结构如下:
分为reader和writer两个。
reader如下图:
说明:
Path:cvs文件的位置
Encoding:编码
Column:行
skipHeader:是否跳过表头
CVS文件中数据:
writer的配置如下图:
说明:
name:是什么写。Oracle呢还是mysql呢
parameter:参数
writemode:写的模式。Insert表示插入的
username:数据库的用户名
password:数据库的密码
column:表的字段
connection:数据库连接
jdbcUrl:数据库链接
table:表名
数据库表:
1.2执行:
在datax的bin目录执行:
python datax.py ../job/ csv_mysql.json
执行后数据:
具体的json配置信息:
{ "job": { "setting": { "speed": { "channel": 1 } }, "content": [ { "reader": { "name": "txtfilereader", "parameter": { "path": ["D:/ datax.csv"], "encoding": "gbk", "column": [ { "index": 1, "type": "string" }, { "index": 2, "type": "string" } , { "index": 3, "type": "string" } ], "fieldDelimiter": ",", "skipHeader": "true" } }, "writer": { "name": "mysqlwriter", "parameter": { "writeMode": "insert", "username": "root", "password": "123456", "column": [ "t_name", "addr", "c" ], "session": [], "connection": [ { "jdbcUrl": "jdbc:mysql://127.0.0.1:3306/guns?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8", "table": ["datax_test"] } ] } } } ] } } |
二:从mysql中将数据同步到mysql中
1:配置信息如下
reader配置:
writer配置:
配置完成后,执行方法同1.2
三:从Oracle中将数据同步到mysql中
说明:
jdbcUrl配置:"jdbcUrl": ["jdbc:oracle:thin:@localhost:1521:coredb"],
querySql:有的时候,我们同步数据的时候,需要根据条件查询同步的。所以可以在这个querysql中写sql语句。
执行同1.2
执行结果:
dataX是阿里开源的离线数据库同步工具的更多相关文章
- 【dataX】阿里开源ETL工具——dataX简单上手
一.概述 1.是什么? DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.SqlServer.Postgre.HDFS.Hive.ADS.HBase. ...
- C#同步SQL Server数据库中的数据--数据库同步工具[同步新数据]
C#同步SQL Server数据库中的数据 1. 先写个sql处理类: using System; using System.Collections.Generic; using System.Dat ...
- 愚公oracle数据库同步工具
最近,利用一些时间对oracle数据库实时同步工具做了一些调研分析,主要关注了linkedin的databus和阿里的yugong两个中间件,其中databus需要在每个待同步的表上增加额外的列和触发 ...
- 数据库同步工具HKROnline SyncNavigator SQL Server互同步MySQL
需要联系我QQ:786211180 HKROnline SyncNavigator 是一款专业的 SQL Server, MySQL 数据库同步软件.它为您提供一种简单智能的方式完成复杂的数据库数据同 ...
- Atitit.Gui控制and面板----db数据库领域----- .比较数据库同步工具 vOa
Atitit.Gui控制and面板----db数据库区----- .数据库比較同步工具 vOa 1. 咨微海信数据库应用 工具 1 2. 数据库比較工具 StarInix SQL Compare ...
- MySQL数据库同步工具的设计与实现
一.背景 在测试过程中,对于不同的测试团队,出于不同的测试目的,我们可能会有多套测试环境.在产品版本迭代过程中,根据业务需求,会对数据库的结构进行一些修改,如:新增表.字段.索引,修改表.字段索引等操 ...
- 阿里巴巴离线数据同步工具/平台datax安装、使用笔记
废话不多说,直接上笔记,先来看下参考链接GitHub: https://github.com/alibaba/DataX.此链接有较详细的安装使用方法,还有json参数编写的文档说明,建议多看. Fi ...
- 使用Red Gate Sql Data Compare 数据库同步工具进行SQL Server的两个数据库的数据比较、同步
Sql Data Compare 是比较两个数据库的数据是否相同.生成同步sql的工具. 这一款工具由Red Gate公司出品,我们熟悉的.NET Reflector就是这个公司推出的,它的SQLTo ...
- 使用Red Gate Sql Compare 数据库同步工具进行SQL Server的两个数据库的结构比较、同步
将测试版的项目同步(部署)到正式版的时候,两个数据库的结构比较与同步时,如果修改数据库的时候没有记录好修改了那些表,很难将两个数据库进行同步 RedGate Sql Compare使用简介说明: 1. ...
- DataX异构数据源离线同步工具json文件配置说明
DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).HDFS.Hive.ODPS.HBase.FTP等各种异构数据源之间稳定高效的数据同步功能 ...
随机推荐
- 使用docker搭建ELK分式日志同步方案
ELK作为业界最常用日志同步方案,我们今天尝试一下使用docker快速搭建一套ELK方案.ELK使用国内加速源拉取的镜像比较旧,有条件的朋友可以拉取官网的源.elasticsearch作为日志储存库( ...
- 2.模块文件以及增删改查(CURD操作)
创建 db.py db.py 文件是我们管理数据库连接和模型基类的地方.它让我们的代码更加模块化和可维护,实际生产中也是类似的,无论是在 FastAPI 或者 Flask 等框架中,当使用到 SqlA ...
- 你有对 Vue 项目进行哪些优化?
(1)代码层面的优化 v-if 和 v-show 区分使用场景 computed 和 watch 区分使用场景 v-for 遍历必须为 item 添加 key,且避免同时使用 v-if 图片资源懒加载 ...
- VUE商城项目 -登录功能 - 手稿
用户列表功能开发
- win10彻底关闭windows defender,解决无故占用大量CPU问题
win10彻底关闭defender的方法 首先右键开始菜单按钮,点击"运行",输入"gpedit.msc",打开"本地组策略编辑器". 依次 ...
- windows下使用dockerdesktop进行部署
Docker部署springboot项目 环境准备 要在windows上使用docker需要确认系统的需求 需要启用虚拟化支持的CPU 启用适用于windows的Linux子系统功能 保证足够的内存 ...
- $Kruskal$ 算法的实现 | 最小生成树
\(Kruskal\) 算法 以 Luogu P3366 为例题 实现方法:从小到大遍历每一条线,如果该线连接的两点已经都在树内则不处理,否则描出这条线 从小到大是一个贪心的实现方法,由于每描出一条线 ...
- Solo 开发者周刊 (第8期):Claude公司再度上新产品,成交额将超73亿美元
这里会整合 Solo 社区每周推广内容.产品模块或活动投稿,每周五发布.在这期周刊中,我们将深入探讨开源软件产品的开发旅程,分享来自一线独立开发者的经验和见解.本杂志开源,欢迎投稿. 好文推荐 Cla ...
- 网易数帆内核团队:memory cgroup 泄漏问题的分析与解决
memory cgroup 泄露是 K8s(Kubernetes) 集群中普遍存在的问题,轻则导致节点内存资源紧张,重则导致节点无响应只能重启服务器恢复:大多数的开发人员会采用定期 drop cach ...
- Prometheus 使用Python推送指标数据到Pushgateway
使用Python推送指标数据到Pushgateway 需求描述 实践环境 Python 3.6.5 Django 3.0.6 prometheus-client 0.11.0 代码实现 !/usr/b ...