安装、测试与简单使用dataX,本文基于CentOS7 x64实现

CentOS7 x64自带Python2环境,不需要额外安装,查看Python版本:python -V,这里V大写
如果需要可以选装pip
1 | |
官方下载链接(需要注册,可能网速慢):
https://www.oracle.com/java/technologies/downloads/

百度网盘:
链接:https://pan.baidu.com/s/176N837BQXyUoIt7HvF0c0A
提取码:0ld6
1 | |
把下载的jdk上传到该目录,然后解压
1 | |
编辑环境变量
1 | |
结尾追加
1 | |
使生效
1 | |
查看JDK版本
1 | |
1 | |
1 | |
运行结果

dataX支持数据如下图(来自官方)
| 类型 | 数据源 | Reader(读) | Writer(写) | 文档 |
|---|---|---|---|---|
| RDBMS 关系型数据库 | MySQL | √ | √ | 读 、写 |
| Oracle | √ | √ | 读 、写 | |
| OceanBase | √ | √ | 读 、写 | |
| SQLServer | √ | √ | 读 、写 | |
| PostgreSQL | √ | √ | 读 、写 | |
| DRDS | √ | √ | 读 、写 | |
| 通用RDBMS(支持所有关系型数据库) | √ | √ | 读 、写 | |
| 阿里云数仓数据存储 | ODPS | √ | √ | 读 、写 |
| ADS | √ | 写 | ||
| OSS | √ | √ | 读 、写 | |
| OCS | √ | 写 | ||
| NoSQL数据存储 | OTS | √ | √ | 读 、写 |
| Hbase0.94 | √ | √ | 读 、写 | |
| Hbase1.1 | √ | √ | 读 、写 | |
| Phoenix4.x | √ | √ | 读 、写 | |
| Phoenix5.x | √ | √ | 读 、写 | |
| MongoDB | √ | √ | 读 、写 | |
| Hive | √ | √ | 读 、写 | |
| Cassandra | √ | √ | 读 、写 | |
| 无结构化数据存储 | TxtFile | √ | √ | 读 、写 |
| FTP | √ | √ | 读 、写 | |
| HDFS | √ | √ | 读 、写 | |
| Elasticsearch | √ | 写 | ||
| 时间序列数据库 | OpenTSDB | √ | 读 | |
| TSDB | √ | √ | 读 、写 |
参考相关文档编写json即可实现,可以在【/export/software/datax/plugin】目录下找到名字

例如想要实现Oracle->HDFS,获取模板命令如下:
1 | |
得到如下模板
1 | |
新建用于测试的表如图,并造几条数据

参考Oracle读-文档编辑json文本如下,刚开始尝试可以先打印结果,确认成功之后再写HDFS
1 | |
把上边的文本写入【/export/software/datax/job/oracle2stream.json】文件中,然后
1 | |
可以在控制台看到成功打印之前造的数据

扩展:这里的【table】可以写多个表结构相同的表名,最后写入HDFS也会写入多个文件
在HDFS新建目录datax,用于接收数据,参考HDFS写-文档继续编辑上边的json文本如下
1 | |
把上边的文本写入【/export/software/datax/job/oracle2hdfs.json】文件中,然后
1 | |
可以在HDFS看到之前造的数据

如果在writer配置中【EXPORT_DATE】字段设置type为date,则日期后的时分秒会丢失,如下图

参考HDFS读-文档和Oracle写-文档编辑json文本如下
1 | |
这里有一个细节,在Oracle读取时,jdbcUrl参数是个数组,Oracle写入时就是字符串了,如果还写数组,就会报下边的错
java.sql.SQLException: No suitable driver found for ["jdbc:oracle:thin:@localhost:1521:orcl"]]
把上边的文本写入【/export/software/datax/job/hdfs2oracle.json】文件中,然后
1 | |
安装、测试与简单使用dataX,本文基于CentOS7 x64实现

CentOS7 x64自带Python2环境,不需要额外安装,查看Python版本:python -V,这里V大写
如果需要可以选装pip
1 | |
官方下载链接(需要注册,可能网速慢):
https://www.oracle.com/java/technologies/downloads/

百度网盘:
链接:https://pan.baidu.com/s/176N837BQXyUoIt7HvF0c0A
提取码:0ld6
1 | |
把下载的jdk上传到该目录,然后解压
1 | |
编辑环境变量
1 | |
结尾追加
1 | |
使生效
1 | |
查看JDK版本
1 | |
1 | |
1 | |
运行结果

dataX支持数据如下图(来自官方)
| 类型 | 数据源 | Reader(读) | Writer(写) | 文档 |
|---|---|---|---|---|
| RDBMS 关系型数据库 | MySQL | √ | √ | 读 、写 |
| Oracle | √ | √ | 读 、写 | |
| OceanBase | √ | √ | 读 、写 | |
| SQLServer | √ | √ | 读 、写 | |
| PostgreSQL | √ | √ | 读 、写 | |
| DRDS | √ | √ | 读 、写 | |
| 通用RDBMS(支持所有关系型数据库) | √ | √ | 读 、写 | |
| 阿里云数仓数据存储 | ODPS | √ | √ | 读 、写 |
| ADS | √ | 写 | ||
| OSS | √ | √ | 读 、写 | |
| OCS | √ | 写 | ||
| NoSQL数据存储 | OTS | √ | √ | 读 、写 |
| Hbase0.94 | √ | √ | 读 、写 | |
| Hbase1.1 | √ | √ | 读 、写 | |
| Phoenix4.x | √ | √ | 读 、写 | |
| Phoenix5.x | √ | √ | 读 、写 | |
| MongoDB | √ | √ | 读 、写 | |
| Hive | √ | √ | 读 、写 | |
| Cassandra | √ | √ | 读 、写 | |
| 无结构化数据存储 | TxtFile | √ | √ | 读 、写 |
| FTP | √ | √ | 读 、写 | |
| HDFS | √ | √ | 读 、写 | |
| Elasticsearch | √ | 写 | ||
| 时间序列数据库 | OpenTSDB | √ | 读 | |
| TSDB | √ | √ | 读 、写 |
参考相关文档编写json即可实现,可以在【/export/software/datax/plugin】目录下找到名字

例如想要实现Oracle->HDFS,获取模板命令如下:
1 | |
得到如下模板
1 | |
新建用于测试的表如图,并造几条数据

参考Oracle读-文档编辑json文本如下,刚开始尝试可以先打印结果,确认成功之后再写HDFS
1 | |
把上边的文本写入【/export/software/datax/job/oracle2stream.json】文件中,然后
1 | |
可以在控制台看到成功打印之前造的数据

扩展:这里的【table】可以写多个表结构相同的表名,最后写入HDFS也会写入多个文件
在HDFS新建目录datax,用于接收数据,参考HDFS写-文档继续编辑上边的json文本如下
1 | |
把上边的文本写入【/export/software/datax/job/oracle2hdfs.json】文件中,然后
1 | |
可以在HDFS看到之前造的数据

如果在writer配置中【EXPORT_DATE】字段设置type为date,则日期后的时分秒会丢失,如下图

参考HDFS读-文档和Oracle写-文档编辑json文本如下
1 | |
这里有一个细节,在Oracle读取时,jdbcUrl参数是个数组,Oracle写入时就是字符串了,如果还写数组,就会报下边的错
java.sql.SQLException: No suitable driver found for ["jdbc:oracle:thin:@localhost:1521:orcl"]]
把上边的文本写入【/export/software/datax/job/hdfs2oracle.json】文件中,然后
1 | |