DataX使用
创建作业及运行
1)ORACLE 到 ODPS 任务
例:从 ORACLE 读取数据到 ODPS
$ cd {YOUR_DATAX_HOME}/job
$ vi ora_odps.json
{ "job": { "setting": { "speed": { "channel": "5" } }, "content": [{ "reader": { "name": "oraclereader", "parameter": { "username": "drds", "password": "Aa123456", "splitPk": "ID", "column": ["ID", "NAME"], "connection": [{ "table": ["TEST"], "jdbcUrl": ["jdbc:oracle:thin:@localhost:1521:ora"] }] } }, "writer": { "name": "odpswriter", "parameter": { "accessId": "xxxx", "accessKey": "xxxxxxx", "accountType": "aliyun", "column": ["ID", "NAME"], "odpsServer": "http://service.cn-hangzhou-zjzwy01-d01.odps.public.cloud.zj.gov.cn:80/api", "project": "lindan_test", "table": "ora_test", "truncate": true } } }] } }
上面的配置文件将 ORACLE 的表 test 数据迁移到 ODPS 的表 ora_test 中。需要根据实际情况修改 ORACLE 的连接信息和 ODPS 的 AK 和项目名称等信息。
oraclereader 的配置请参考下面链接:
https://github.com/alibaba/DataX/blob/master/oraclereader/doc/oraclereader.md
odpswriter 的配置请参考下面链接:
https://github.com/alibaba/DataX/blob/master/odpswriter/doc/odpswriter.md
运行下面命令,启动 DataX 任务
$ cd {YOUR_DATAX_HOME}/bin
$ python datax.py ../job/ora_odps.json
作业运行成功后,监控界面会显示整个作业运行时间,速度、迁移数据量等信息如下所示:
可以通过修改 DataX 作业文件中 channel 的并发数来提高整个作业的性能。此外OracleReader 进行数据抽取时,还可以指定 splitPk,表示希望使用 splitPk 代表的字段进行数据分片,DataX 因此会启动并发任务进行数据同步,这样可以大大提供数据同步的效能。推荐 splitPk 用户使用表主键,因为表主键通常情况下比较均匀,因此切分出来的分片也不容易出现数据热点。目前 splitPk 仅支持整形、字符串型数据切分,不支持浮点、日期等其他类型。
作者:苏su
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.