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 仅支持整形、字符串型数据切分,不支持浮点、日期等其他类型。

 

posted @ 2020-09-03 16:24  苏su  阅读(525)  评论(0编辑  收藏  举报