Apache SeaTunnel 搞定瀚高数据库读写一把过
1. 瀚高数据库简介瀚高数据库HighGo是国产数据库厂商基于PostgreSQL内核开发专注于企业级应用。与KingBase的金仓数据库类似都是PG系的国产化数据库。瀚高特点完全兼容PostgreSQL协议国产化适配有政府信创清单认证提供标准PostgreSQL驱动无需额外驱动支持多种部署模式单机、主备、分布式瀚高也有PG和MySQL模式兼容性比较好。就直接当PG和MySQL用就是jdbc和Navicat 就直接连就行了唯一需要注意的是Navicat 的低版本连瀚高MySQL时有时候需要配置一下某个参数“客户端驱动程序”选择旧版否则打开表时会报什么奇怪怕错误。2. 瀚高读写实战2.1 从瀚高MySQL模式读数据写入瀚高PG模式直接把配置信息复制到海豚的SeaTunnel节点里就行了。这里瀚高和人大金仓的MySQL兼容模式有所不同瀚高就是当源生MySQLjdbc驱动就是MySQL而金仓需要使用PG驱动去读取MySQL兼容模式的数据内容估计是底层做的MySQL兼容。env { parallelism 2 job.mode BATCH } source { Jdbc { driver com.mysql.cj.jdbc.Driver url jdbc:mysql://192.168.0.110:3306/public user root password root query SELECT * FROM public.tb_dict; } } sink { jdbc { url jdbc:postgresql://192.168.0.119:5866/datadb driver org.postgresql.Driver user highgo password highgo # Automatically generate sql statements based on database table names generate_sink_sql true database datacenter table data_schema.dim_public_dict_info schema_save_mode CREATE_SCHEMA_WHEN_NOT_EXIST field_ideLOWERCASE data_save_modeDROP_DATA } }丝一般顺滑.......2.2. 为了信创要求如果原有系统为非信创数据库例如Apache Doris已经项目开发完毕了上线时直接要求切换信创数据库则可以使用SeaTunnel做为迁移工具直接把Doris数据写回给信创DB。毕竟Doris 可不只是一个数据库也叫数据引擎大不了再把Doris的数据迁移完毕后再删除了。活是糙了点......env { parallelism 2 job.mode BATCH } source { Jdbc { url jdbc:mysql://192.168.0.120:9030/data_statistics driver com.mysql.cj.jdbc.Driver connection_check_timeout_sec 100 user root password root table_list [{ table_path data_statistics.data_develop_data_source_yw }, { table_path data_statistics.data_develop_data_source_type }, { table_path data_statistics.data_develop_data_source_ip }, .... ] } } sink { jdbc { url jdbc:postgresql://192.168.0.119:5866/datadb driver org.postgresql.Driver user highgo password highgo # Automatically generate sql statements based on database table names generate_sink_sql true database datadb table data_schema.${table_name} #field_ide LOWERCASE #schema_save_mode CREATE_SCHEMA_WHEN_NOT_EXIST data_save_mode DROP_DATA } }3、小结仅以个人所在环境出发和感受来看DorisDolphinSchedulerSeaTunnel堪称数据读写”新三剑客“