开发者社区> dataworks~李珍珍> 正文

增加关系型数据库驱动配置同步任务

简介: RDBMS插件,可以添加部分关系型数据库驱动,可以实现部分数据集成没有支持到的关系型数据库,配置同步任务,目前只支持脚本模式配置。
+关注继续查看

购买ECS

作为自定义资源组的机器建议,按照下面规格购买:

  • 使用centos6、centos7或aliyunos。
  • 如果您添加的ECS需要执行MaxCompute任务或同步任务,需要检查当前ECS的python版本是否是python2.6或2.7的版本(centos5的版本为2.4,其它os自带2.6以上版本)。
  • 请确保ECS有访问公网能力,可以是否能ping通 www.aliyun.com 作为衡量标准。
  • 建议ECS的配置为8核16G。

添加自定义资源组

  • 创建项目后,单击对应项目后的进入数据开发;
  • 进入DataStudio页面,左上角选择数据集成页面里的资源组界面;
    1_jpeg
  • 命令运行安装自定义资源组:

Agent只能安装在Linux机器上,添加的每个服务器都需要初始化。

如果是新添加机器,请按照提示的步骤添加自定义资源组,注意:保持在root用户下:

  • 根据上面相关的命令,部署Agent,资源组的状态为可用代表添加成功了
    2_jpeg

如果刷新后还是停止状态,您可以重启alisa命令。切换到admin账号,执行下述命令。

/home/admin/alisatasknode/target/alisatasknode/bin/serverct1 restart

增加mysql驱动为案例

概述

  • RDBMS Reader插件实现了从RDBMS读取数据。在底层实现上,RDBMS Reader通过JDBC连接远程RDBMS数据库,并执行相应的SQL语句将数据从RDBMS库中SELECT出来。目前支持达梦、DB2、PPAS、Sybase数据库的读取。RDBMS Reader是一个通用的关系数据库读插件,您可以通过注册数据库驱动等方式增加任意多样的关系数据库读支持。
  • 简而言之,RDBMS Reader通过JDBC连接器连接到远程的RDBMS数据库,并根据您配置的信息生成查询SQL语句并发送到远程RDBMS数据库,并将该SQL执行返回的结果,使用DataX自定义的数据类型拼装为抽象的数据集,并传递给下游Writer处理。
  • 对于您配置的Table、Column、Where等信息,RDBMS Reader将其拼接为SQL语句发送到RDBMS数据库。对于您配置的querySql信息,RDBMS直接将其发送到RDBMS数据库。
  • 目前RDBMS Reader支持大部分通用的关系数据库类型如数字、字符等,但也存在部分类型没有支持的情况,请注意检查您的类型,根据具体的数据库做选择。

RDBMS Writer可通过以下方式增加新的数据库支持驱动

  • 进入RDBMS Reader对应目录,${DATAX_HOME}为DataX主目录,即/home/admin/datax3/plugin/reader/rdbmswriter目录,如下图:
  • 在RDBMS Reader插件目录下找到plugin.json配置文件,在此文件中注册您具体的数据库驱动,如下面的"mysql.jdbc.Driver",放在drivers数组中。RDBMS Reader插件在任务执行时会动态选择合适的数据库驱动连接数据库,如下图:
    3_jpeg
  • 在rdbmsreader插件目录下找到libs子目录,将您下载的mysql的jar包上传上去,如下图的mysql-connector-java-5.1.34.jar。
    4

配置任务

  • 目前通过RDBMS插件只能在资源组脚本模式配置同步任务,您可以创建您的json任务,如下图:
    5
  • 配置您相关的json具体内容如下:
{
"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"
                                ]
                            }
                        ],
                       
                        "where": ""
                    }
                },
                "writer": {
                    "name": "streamwriter",
                    "parameter": {
                        "print": true
                    }
                }
            }
        ]
    }
}

运行任务

  • 直接运行下面的命令:/usr/bin/python2.7 /home/admin/datax3/bin/datax.py rdbmsreader.json
    6

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python 3+Django 3 结合Vue.js框架构建前后端分离Web开发平台实战
Python 3+Django 3 结合Vue.js框架构建前后端分离Web开发平台实战
11 0
肝三万字《数据仓库体系》轻松拿下字节offer(下)
肝三万字《数据仓库体系》轻松拿下字节offer(下)
12 0
肝三万字《数据仓库体系》轻松拿下字节offer(上)
肝三万字《数据仓库体系》轻松拿下字节offer(上)
10 0
❤️Android 进程与线程 ❤️不好不要钱(下)
小结 实现Callable和实现Runnable类似,但是功能更强大,具体表现在: • 可以在任务结束后提供一个返回值,Runnable不行。 • call方法可以抛出异常,Runnable的run方法不行。 • 可以通过运行Callable得到的Fulture对象监听目标线程调用call方法的结果,得到返回值,(fulture.get(),调用后会阻塞,直到获取到返回值)。
10 0
《10个超级常用Python方法总结》复制即用丨小白捷径
《10个超级常用Python方法总结》复制即用丨小白捷径
15 0
Python操作Mysql(连接、数据探查、写Excel)
Python操作Mysql(连接、数据探查、写Excel)
11 0
《Java小子怒闯数据结构九重天》第五重天——链表
自古以来数据结构界就分为九重天,据说冲破这九重天之后就可以去进攻算法界最终修炼最后成佬,受万人敬仰,以下是第五重的内容。
7 0
Swagger基本使用快速上手
Swagger简介 1、是一款让你更好的书写API文档规范且完整的框架。 2、提供描述、生产、消费和可视化RESTful Web Service。 3、是由庞大工具集合支撑的形式化规范。这个集合涵盖了从终端用户接口、底层代码库到商业API管理的方方面面。
7 0
❤️Androd 性能优化之布局优化❤️
Android的布局管理器本身就是个UI组件,所有的布局管理器都是ViewGroup的子类,而ViewGroup是View的子类,所以布局管理器可以当成普通的UI组件使用,也可以作为容器类使用,可以调用多个重载addView()向布局管理器中添加组件,并且布局管理器可以互相嵌套,当然不推荐过多的嵌套 (如果要兼容低端机型,最好不要超过5层)。
14 0
❤️Android 12 高斯模糊-RenderEffect❤️
Android 12 高斯模糊 新功能:更易用的模糊、彩色滤镜等特效 。 新的 API 让你能更轻松地将常见图形效果应用到视图和渲染结构上。 使用 RenderEffect 将模糊、色彩滤镜等效果应用于 RenderNode 或 View。 使用新的 Window.setBackgroundBlurRadius() API 为窗口背景创建雾面玻璃效果, 使用 blurBehindRadius 来模糊窗口后面的所有内容。 咱们一个一个玩。
10 0
+关注
dataworks~李珍珍
想了解dataworks可以找我哦
1
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载