datax rdbmsreader 添加mysql、oracle驱动

【引用下官方说明】
RDBMS Reader是一个通用的关系数据库读插件,您可以通过添加、注册数据库驱动等方式增加各种关系型数据库的读支持。

本文为您介绍如何通过RDBMS Reader添加关系型数据库驱动。

一、前提条件

在添加关系型数据库驱动前,您需要购买ECS服务器作为您的自定义资源组,建议购买规格如下:

  • 使用CentOS 6、CentOS 7或AliyunOS。
  • 如果您添加的ECS需要执行MaxCompute任务或同步任务,需要检查当前ECS的python版本是否为Python2.6或2.7的版本(CentOS 5的Python版本为2.4,其它OS自带2.6以上版本)。
  • 以是否能够ping通www.aliyun.com作为衡量标准,确认ECS可以访问公网。
  • 建议ECS的配置为8核16G。

二、背景信息

RDBMS Reader通过JDBC连接器连接至远程的RDBMS数据库,并根据您配置的信息生成查询SQL语句,发送至远程RDBMS数据库,执行该SQL并返回结果。然后使用数据同步自定义的数据类型拼装为抽象的数据集,传递给下游Writer处理。详情请参见RDBMS Reader。

三、添加自定义资源组

  1. 登录DataWorks控制台。
  2. 在左侧导航栏,单击工作空间列表。
  3. 单击相应工作空间后的进入数据集成。
    1.   如果您已在DataWorks的某个功能模块,请单击左上角的图标,选择全部产品 > 数据集成,即可跳转至数据集成页面。
  4. 在左侧导航栏,单击自定义资源组,进入自定义资源组管理页面。
  5. 单击右上角的新增自定义资源组。
  6. 安装Agent并初始化,详情请参见新增自定义数据集成资源组。
    1.   待服务器状态为可用时,则成功添加自定义资源组。
    2.   如果刷新后还是停止状态,请切换至admin账号,执行下述命令重启alisa。

      /home/admin/alisatasknode/target/alisatasknode/bin/serverct1 restart
四、添加MySQL驱动

  1. 登录云服务器ECS自定义资源组。
  2. 执行下述语句,进入RDBMS Reader对应目录。${DATAX_HOME}为数据集成主目录,即/home/admin/datax3/plugin/reader/rdbmsreader目录。
    1.   
      [root@izbp1czjk**** rdbmsreader]# pwd
      /home/admin/datax3/plugin/reader/rdbmsreader
      [root@izbp1czjkv**** rdbmsreader]# ls
      libs plugin.json rdbmsreader-0.0.1-SNAPSHOT.jar
  3. 在RDBMS Reader插件目录下找到plugin.json配置文件。在该文件中注册具体的数据库驱动,例如下文的com.mysql.jdbc.Driver,放至drivers数组中。
    RDBMS Reader插件在任务执行时,会动态选择合适的数据库驱动连接数据库。
    [root@izbp1cz**** rdbmsreader]# vim plugin.json
    {
        "name": "rdbmsreader",
        "class": "com.alibaba.datax.plugin.reader.rdbmsreader.RdbmsReader",
        "description": "useScene: prod. mechanism: Jdbc connection using the database, execute select sql, retrieve data from the ResultSet. warn: The more you know about the database, the less problems you encounter.",
        "developer": "alibaba",
        "drivers":["dm.jdbc.driver.DmDriver", "com.sybase.jdbc3.jdbc.SybDriver", "com.edb.Driver","com.mysql.jdbc.Driver"]
    }

    这里mysql数据库标识符是:com.mysql.jdbc.Driver

    oracle的数据库的标识符是:oracle.jdbc.OracleDriver

  4. 进入rdbmsreader目录下的libs子目录,上传您下载的MySQL JAR包。
    例如下图中的mysql-connector-java-5.1.47.jar

五、配置数据同步任务

目前RDBMS Reader仅支持通过脚本模式配置同步任务,配置示例如下。

{
"job": {
        "setting": {
            "speed": {
                "byte": 1048576
            },
            "errorLimit": {
                "record": 0,
                "percentage": 0.02
            }
        },
        "content": [
            {
                "reader": {
                    "name": "rdbmsreader",
                    "parameter": {
                        "username": "xxxxx",
                        "password": "yyyyyy",
                        "column": [
                            "*",   
                        ],
                        "splitPk": "id",
                        "connection": [
                            {
                                "table": [
                                    "a2"
                                ],
                                "jdbcUrl": [
                                    "jdbc:mysql://xxx.mysql.yy.aliyuncs.com:3306/xxx"  //直接配置您的SQL地址。
                               ]
                            }
                        ],

                        "where": ""
                    }
                },
                "writer": {  //writer部分根据您的需要进行配置即可。 
                   "name": "streamwriter",
                    "parameter": {
                        "print": true
                    }
                }
            }
        ]
    }
}
原文地址:https://www.cnblogs.com/1394htw/p/13718752.html