Elasticsearch-datatran 由 bboss 开源的数据同步迁移工具,支持在Elasticsearch、关系数据库(mysql,oracle,db2,sqlserver、达梦等)、Mongodb、HBase、Hive、Kafka、文本文件、excel文件、csv文件、SFTP/FTP多种数据源之间进行海量数据同步;支持日志文件实时增量采集到kafka/elasticsearch/database。提供了作业任务控制API、作业监控api,支持作业启动、暂停(pause)、继续(resume)、停止控制机制,可轻松定制一款属于自己的ETL管理工具。
文件采集和生成插件
案例大全
https://esdoc.bbossgroups.com/#/bboss-datasyn-demo
功能特点
1.支持多种数据源之间的数据同步
- 数据库表数据同步到Elasticsearch
- 数据库表数据同步到数据库表
- Elasticsearch数据同步到数据库表
- Elasticsearch数据同步到Elasticsearch
- Mongodb数据同步到Elasticsearch
- Mongodb数据同步到数据库表
- 从Kafka接收数据并导入Elasticsearch
- 增删改数据同步到elasticsearch
- HBase数据同步到Elasticsearch
- 将elasticsearch数据导出到文本文件以及通过ftp/sftp上传文件到文件服务器
- 将数据库表数据导出到文本文件以及通过ftp/sftp上传文件到文件服务器
- 将elasticsearch数据导出发送到Kafka服务器
- 将数据库表数据发送到Kafka服务器
- 支持excel、csv文件采集(本地和ftp/sftp)
- 支持记录切割功能
- 支持ftp/sftp文件下载采集功能,支持删除已处理的ftp文件
- 支持采集完毕文件备份及备份文件清理功能
- 支持子目录文件扫描采集
-
可以将加工后的数据写入File并上传到ftp/sftp服务器;
支持导出数据到excel、csv文件、文本文件,并上传到ftp/sftp服务器
- 支持自定义数据处理器功能,方便将数据发送到想要放置的目标
2.支持多种数据导入方式
- 批量数据导入
- 批量数据多线程并行导入
- 定时全量(串行/并行)数据导入
- 定时增量(串行/并行)数据导入
3.支持的数据库和消息中间件类型
数据库: mysql,maridb,postgress,oracle ,sqlserver,db2,tidb,hive,mongodb、HBase、elasticsearch、达梦等
消息中间件:kafka 1x,kafka 2x
4.Elasticsearch版本兼容性
Elasticsearch 1.x,2.x,5.x,6.x,7.x,8.x+
5.支持海量PB级数据同步导入Elasticsearch
6.支持将ip转换为对应的运营商/省份城市/经纬度坐标位置信息
7.支持设置数据bulk导入任务结果处理回调函数,对每次bulk任务的结果进行成功和失败反馈,然后针对失败的bulk任务通过error和exception方法进行相应处理
8.提供详细的数据同步任务监控指标,可监控作业任务处理总记录数、成功记录数、Ignore记录数、失败记录数,支持自行将任务监控指标数据进行存储或者转发到kafka
9.支持多种定时任务执行引擎
- jdk timer (内置)
- quartz
- xxl-job分布式调度引擎,基于分片调度机制实现海量数据快速同步能力
10.支持两种作业运行方式
- 嵌入到应用中运行,基于quartz和jdk timer调度的作业都可以运行在这种模式下,参考文档:spring boot运行案例
- 独立发布包运行,基于quartz和xxl-job,jdk timer调度的作业都可以运行在这种模式下,参考文档:作业发布
11.基于java语言开发和发布数据同步作业
Elasticsearch-datatran 的独特之处,其数据同步作业采用java语言开发,可以用采用java提供的所有功能和现有组件框架,随心所欲地处理和加工海量存量数据、实时增量数据,可以根据数据规模及同步性能要求,按需配置和调整数据采集同步作业所需内存、工作线程、线程队列大小。如果你还在苦于logstash、flume、filebeat之类的开源工具无法满足复杂的、海量的数据处理加工场景,或者因企业信息化投资限制,而不能采用一些重量级的解决方案,那么Elasticsearch-datatran是一个不错的选择。
相较而言,bboss开源的Elasticsearch-datatran比较小巧精致,可以把他看成是一个简单的、轻量级的数据同步框架,亦可以把他当做一个小组件;使用时,只需要导入一个maven坐标,参考已有的案例,就可以轻松愉快地开发出一个非常棒的数据采集、加工、入库、分发、上传的、具备增量状态管理功能的数据采集同步作业,同时还可以在idea、eclipse中进行debug调测,通过一些错误回调处理机制,可以非常方便地洞悉同步过程中的各种数据问题、处理错误和异常;依赖jdk环境,无需额外安装其他工具环境,就可以将bboss数据采集同步作业跑起来。 因直接基于java语言开发同步作业,同步作业可以独立运行管控,也可以嵌入自己的应用运行管控,通过提供的作业执行控制API、任务状态监控metircs api,可以定制化开发一些符合自己要求的同步作业任务监控管理功能,提供作业启动、暂停(pause)、继续(resume)、停止控制机制,轻松定制一款属于自己的ETL管理工具。
总之Elasticsearch-datatran是一款高度灵活的数据交换工具,基于Elasticsearch-datatran可以快速实现开发高效而强大的数据同步作业,以及构建在其上的数据交换产品。
评论