批量生成数据迁移神器datax的json配置文件

项目背景

项目每天需要从oracle,gbase8a,mysql三种数据库中抽取增量数据和全量数据到阿里的ADS中,之前是基于kettle+crontab来实现数据的抽取与调度的。因kettle配置简易,但抽取效率低,无法满足业务的日常使用,目前开源软件datax在测试期间性能与效果都能满足业务需要,但也有一个缺点,那就是datax的json配置文件配置起来不太方面,于是就有了这篇文章。

项目需求

1、将kettle同步的业务表修改为了datax同步
2、oracle数据库中有70张业务,gbase8a中有60张,mysql中有85张
3、ADS中的表结构与oracle,gbase8a中的业务表结构保持一致。

实现思路

datax的主要工作是书写json配置文件,即源库与目标库中业务表字段的对应关系,而这一部分都是ctl +c、ctl+v 操作,所以通过相应的SQL语句与SHELL相结合即可解决繁琐的配置操作。
1、制定json同步模板及格式
2、通过SQL语句获取业务表的字段
3、通过SHELL批量生成同步表的json配置文件

实现方式

1、模板格式
gbase_template.txt

{
   
    "job": {
   
        "setting": {
   
            "speed": {
   
                "byte": 1048576
            },
            "errorLimit": {
   
                "record": 0,
                "percentage": 0.02
            }
        },
        "content": [
            {
   
                "reader": {
   
                    "name": "rdbmsreader",
                    "parameter": {
   
                        "username": "${gbase_username}",
                        "password": "${gbase_password}",
                        "connection": [
                            {
   
                                "querySql": [
                                    "sele
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值