
https://github.com/apache/
点击蓝字
关注我们
作者 | 三线程序员
想用Apache SeaTunnel对接瀚高数据库该怎么配?本文分享实战经验,瀚高数据库基于PostgreSQL内核,直接用标准JDBC驱动即可连接。文中给出了瀚高MySQL模式读写PG模式、Doris数据迁移至瀚高的配置示例,操作顺畅。
1. 瀚高数据库简介
瀚高数据库(HighGo)是国产数据库厂商,基于PostgreSQL内核开发,专注于企业级应用。与KingBase的金仓数据库类似,都是PG系的国产化数据库。
瀚高特点:
瀚高也有PG和MySQL模式,兼容性比较好。就直接当PG和MySQL用就是,jdbc和Navicat 就直接连就行了,唯一需要注意的是Navicat 的低版本连瀚高MySQL时,有时候需要配置一下某个参数“客户端驱动程序”选择旧版,否则打开表时会报什么奇怪怕错误。
2. 瀚高读写实践
直接把配置信息复制到海豚的SeaTunnel节点里就行了。这里瀚高和人大金仓的MySQL兼容模式有所不同,瀚高就是当源生MySQL(jdbc驱动就是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_ide="LOWERCASE" data_save_mode="DROP_DATA" }}丝一般顺滑.......
如果原有系统为非信创数据库,例如Apache Doris已经项目开发完毕了;上线时直接要求切换信创数据库,则可以使用SeaTunnel做为迁移工具,直接把Doris数据写回给信创DB。毕竟D oris 可不只是一个数据库,也叫数据引擎(大不了再把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. 小结
仅以个人所在环境出发和感受来看,Doris++SeaTunnel堪称数据读写”新三剑客“。日常DolphinScheduler加Doris就可以完成常见数据库的etl和加工工作,数据量不太大的情况下,Doris catalog就能搞定;如果catalog映射不了(如xxx的MySQL模式一般还都不行...),或者比较个性的数据库再用上SeaTunnel做为兜底神器。
Apache SeaTunnel是一个云原生的多模态、高性能海量数据集成工具。北京时间 2023 年 6 月1 日,全球最大的开源软件基金会ApacheSoftware Foundation正式宣布SeaTunnel毕业成为Apache顶级项目。目前,SeaTunnel在GitHub上Star数量已达9k+,社区达到7000+人规模。SeaTunnel支持在云数据库、本地数据源、SaaS、大模型等170多种数据源之间进行数据实时和批量同步,支持CDC、DDL变更、整库同步等功能,更是可以和大模型打通,让大模型链接企业内部的数据。
同步Demo
新手入门

最佳实践

测试报告

源码解析



