开源数据同步ETL工具,支持多数据源间的增删改数据同步
一、开源项目简介
bboss数据同步可以方便地实现多种数据源之间的数据同步功能,支持增、删、改数据同步,本文为大家程序各种数据同步案例。二、开源协议
使用Apache-2.0开源协议三、界面展示
四、功能概述
通过bboss,可以非常方便地采集database/mongodb/Elasticsearch/kafka/hbase/本地或者Ftp日志文件源数据,经过数据转换处理后,再推送到目标库elasticsearch/database/file/ftp/kafka/dummy/logger。
数据导入的方式支持逐条数据导入批量数据导入批量数据多线程并行导入定时全量(串行/并行)数据导入定时增量(串行/并行)数据导入支持记录切割功能
支持各种主流数据库、各种es版本以及本地/Ftp日志文件数据采集和同步、加工处理
支持从kafka接收数据;经过加工处理的数据亦可以发送到kafka;
支持将单条记录切割为多条记录;
可以将加工后的数据写入File并上传到ftp/sftp服务器;
支持备份采集完毕日志文件功能,可以指定备份文件保存时长,定期清理超过时长文件;
支持自动清理下载完毕后ftp服务器上的文件;
支持excel、csv文件采集(本地和ftp/sftp)
支持导出数据到excel和csv文件,并支持上传到ftp/sftp服务器
提供自定义处理采集数据功能,可以自行将采集的数据按照自己的要求进行处理到目的地,支持数据来源包括:database,elasticsearch,kafka,mongodb,hbase,file,ftp等,想把采集的数据保存到什么地方,有自己实现CustomOutPut接口处理即可。
支持的数据库: mysql,maridb,postgress,oracle ,sqlserver,db2,tidb,hive,mongodb、HBase等
支持的Elasticsearch版本: 1.x,2.x,5.x,6.x,7.x,8.x,+
支持海量PB级数据同步导入功能
支持将ip转换为对应的运营商和城市地理坐标位置信息
支持设置数据bulk导入任务结果处理回调函数,对每次bulk任务的结果进行成功和失败反馈,然后针对失败的bulk任务通过error和exception方法进行相应处理
支持以下三种作业调度机制:jdk timer (内置)quartzxxl-job分布式调度引擎,基于分片调度机制实现海量数据快速同步能力
bboss另一个显著的特色就是直接基于java语言来编写数据同步作业程序,基于强大的java语言和第三方工具包,能够非常方便地加工和处理需要同步的源数据,然后将最终的数据保存到目标库(Elasticsearch或者数据库);同时也可以非常方便地在idea或者eclipse中调试和运行同步作业程序,调试无误后,通过bboss提供的gradle脚本,即可构建和发布出可部署到生产环境的同步作业包。因此,对广大的java程序员来说,bboss无疑是一个轻易快速上手的数据同步利器。五、技术选型1.准备工作1.1 在工程中导入jdbc es maven坐标 com.bbossgroups.plugins bboss-elasticsearch-rest-jdbc 6.5.2
如果需要增量导入,还需要导入sqlite驱动: org.xerial sqlite-jdbc 3.40.0 compile
如果需要使用xxjob来调度作业任务,还需要导入坐标: com.xuxueli xxl-job-core 2.0.2 compile
本文从mysql数据库表td_cms_document导入数据到es中,除了导入上述maven坐标,还需要额外导入mysql驱动坐标(其他数据库驱动程序自行导入): mysql 5.x驱动依赖包 mysql mysql-connector-java 5.1.40
mysql 8.x驱动依赖包(mysql 8必须采用相应版本的驱动,否则不能正确运行) mysql mysql-connector-java 8.0.16 六、源码地址
私信回复:数据同步ETL工具
或访问一飞开源:https://code.exmay.com/