首页 > 数据库 >Java 基于 SpringCloud 数据中台 ETL 工具,可以进行多种常见数据库之间的数据或结构迁移

Java 基于 SpringCloud 数据中台 ETL 工具,可以进行多种常见数据库之间的数据或结构迁移

时间:2022-11-01 08:56:11浏览次数:40  
标签:Java target SpringCloud 数据库 source ETL false dbswitch schema

基于 SpringCloud 数据中台 ETL 工具,可以进行多种常见数据库之间的数据或结构迁移
提供源端数据库向目的端数据库的批量迁移同步功能,支持数据的全量和增量方式同步。包括:
支持字段类型、主键信息、建表语句等的转换,并生成建表SQL语句。

### 数据迁移配置项说明

| 配置参数 | 配置说明 | 示例 | 备注 |
| ------------------------------------------- | ------------------------------------------------------------ | ---------------------------------------- | ------------------------------------------------------------ |
| dbswitch.source[i].url | 来源端JDBC连接的URL | jdbc:oracle:thin:@127.0.0.1:1521:orcl | 可为:oracle/mysql/mariadb/sqlserver/postgresql/db2/dm/kingbase8/highgo 等 |
| dbswitch.source[i].driver-class-name | 来源端数据库的驱动类名称 | oracle.jdbc.driver.OracleDriver | 对应数据库的驱动类 |
| dbswitch.source[i].username | 来源端连接帐号名 | root | 无 |
| dbswitch.source[i].password | 来源端连接帐号密码 | root | 无 |
| dbswitch.source[i].fetch-size | 来源端数据库查询时的fetch_size设置 | 10000 | 需要大于100 有效 |
| dbswitch.source[i].source-schema | 来源端的schema名称 | test | 多个之间用英文逗号分隔 |
| dbswitch.source[i].source-includes | 来源端schema下的表中需要包含的表名称 | users1 | 支持多个表(多个之间用英文逗号分隔);支持正则表达式(不能含有逗号) |
| dbswitch.source[i].source-excludes | 来源端schema下的表中需要过滤的表名称 | users,orgs | 不包含的表名称,多个之间用英文逗号分隔 |
| dbswitch.source[i].regex-table-mapper | 基于正则表达式的表名称映射关系 | [{"from-pattern": "^","to-value": "T_"}] | 为list类型,元素存在顺序关系 |
| dbswitch.source[i].regex-column-mapper | 基于正则表达式的字段名映射关系 | [{"from-pattern": "$","to-value": "_x"}] | 为list类型,元素存在顺序关系 |
| dbswitch.target.url | 目的端JDBC连接的URL | jdbc:postgresql://127.0.0.1:5432/test | 可为:oracle/sqlserver/postgresql/greenplum/mysql/mariadb/db2/dm/kingbase8/highgo 等 |
| dbswitch.target.driver-class-name | 目的端 数据库的驱动类名称 | org.postgresql.Driver | 对应数据库的驱动类 |
| dbswitch.target.username | 目的端连接帐号名 | root | 无 |
| dbswitch.target.password | 目的端连接帐号密码 | root | 无 |
| dbswitch.target.target-schema | 目的端的schema名称 | public | 目的端的schema名称只能有且只有一个 |
| dbswitch.target.target-drop | 是否执行先drop表然后create表命令,当target.datasource-target.drop=true时有效 | true | 可选值为:true、false |
| dbswitch.target.create-table-auto-increment | 是否执启用支持create表时主键自增(只支持mysql) | true | 可选值为:true、false |
| dbswitch.target.writer-engine-insert | 是否使用insert写入数据 | false | 可选值为:true为insert写入、false为copy写入,只针对目的端数据库为PostgreSQL/Greenplum的有效 |
| dbswitch.target.change-data-sync | 是否启用增量变更同步,dbswitch.target.target-drop为 false 时且表有主键情况下有效 | false | 可选值为:true、false |


标签:Java,target,SpringCloud,数据库,source,ETL,false,dbswitch,schema
From: https://www.cnblogs.com/Javawang/p/16846559.html

相关文章

  • Java多线程(7):JUC(上)
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 前面把线程相关的生命周期、关键字、线程池(ThreadPool)、ThreadLocal、CAS、锁和AQS都讲完了,现在就剩下怎么来用多线程了......
  • JavaScript中Array.from()方法的用法
    1.介绍作用:将一个伪数组对象或者可迭代的任意对象转换为一个真正的数组语法:Array.from(arrayLike[,mapFunction[,thisArg]])arrayLike:必传参数,指定需要转换为数......
  • Java-什么是多态,多态的具体体现有那些?
    多态:方法或者对象有多种形态,是OOP的第三大特征,是建立在封装和继承之上的多态的具体体现:方法多态重载体现多态重写体现多态对象多态对象的编译类型和运行类型可......
  • Java-equals和“==”的区别
    “==”是比较运算符,可以用于判断基本数据类型是否相等,当用于判断引用类型的时候,比较的对象的内存地址是否相同equals是Object类当中的方法,不可以用于判断基本数据是否相......
  • 学习java的第二天
    java语法学习注释,标识符,关键字写代码时一定写注释这是一个良好的习惯单行注释:“//”这是一个当行注释多行注释:"/*+回车"这是一个多行注释文档注释:"/**+......
  • java 中的final关键字
    final关键字是最终的意思,可以修饰类、变量、方法,在使用时具有如下特点:1.被final修饰的类,不能被继承权限修饰符finalclass类名{}2.被final修饰的方法,不能被重写(覆......
  • SAP Java Connector 错误 - JCO_ERROR_COMMUNICATION
    我运行SAPJavaConnector自带的SimpleCall例子程序时,遇到如下错误消息:Exceptioninthread"main"com.sap.conn.jco.JCoException:(102)JCO_ERROR_COMMUNICATION......
  • SpringCloudAlibaba 主要组件与nacos 填坑记录
    SpringCloudAlibaba主要功能与实现组件(1)SpringCloudAlibaba主要功能与实现组件【功能与实现组件:】服务限流降级:基本说明:默认支持WebServlet、WebF......
  • java快速入门
    概述jvm:java虚拟机jre:java运行环境包括:jvm+库包(api)jdk:java开发环境包括:开发工具+jre核心优势:跨平台运行环境java8+netbeans或者vscode+java插件或者idea或者命......
  • java中的lambda表达式
    简介java的lambda表达式是一种简单的匿名函数,这个匿名函数中都是干货,参数列表,lambda表达式的符号->和逻辑代码lambda的表达式的形式如下//当只有一个参数时,可以省略小......