数据采集 ETL 工具 Elasticsearch-datatran v6.5.5发布,
v6.5.5 功能改进
-
带来全新改版的bboss官网,欢迎大家体验:https://www.bbossgroups.com
-
数据同步机制优化:各插件tran逻辑复用优化
-
ftp/sftp文件下载锁优化,大幅提升文件采集插件性能
-
增加ftp/sftp文件并行下载机制,通过setDownloadWorkThreads实现并行下载线程数,默认为3个,如果设置为0代表串行下载
FtpConfig ftpConfig = new FtpConfig().setFtpIP("10.13.6.127").setFtpPort(21) .setFtpUser("ecsftp").setFtpPassword("ecsftp").setDownloadWorkThreads(4)//设置4个线程并行下载文件,可以允许最多4个文件同时下载 .setRemoteFileDir("xcm").setRemoteFileValidate(new RemoteFileValidate() { /** * 校验数据文件合法性和完整性接口 * @param validateContext 封装校验数据文件信息 * dataFile 待校验零时数据文件,可以根据文件名称获取对应文件的md5签名文件名、数据量稽核文件名称等信息, * remoteFile 通过数据文件对应的ftp/sftp文件路径,计算对应的目录获取md5签名文件、数据量稽核文件所在的目录地址 * ftpContext ftp配置上下文对象 * 然后通过remoteFileAction下载md5签名文件、数据量稽核文件,再对数据文件进行校验即可 * redownload 标记校验来源是否是因校验失败重新下载文件导致的校验操作,true 为重下后 文件校验,false为第一次下载校验 * @return int * 文件内容校验成功 * RemoteFileValidate.FILE_VALIDATE_OK = 1; * 校验失败不处理文件 * RemoteFileValidate.FILE_VALIDATE_FAILED = 2; * 文件内容校验失败并备份已下载文件 * RemoteFileValidate.FILE_VALIDATE_FAILED_BACKUP = 3; * 文件内容校验失败并删除已下载文件 * RemoteFileValidate.FILE_VALIDATE_FAILED_DELETE = 5; */ public Result validateFile(ValidateContext validateContext) { // if(redownload) // return Result.default_ok; //// return Result.default_ok; // Result result = new Result(); // result.setValidateResult(RemoteFileValidate.FILE_VALIDATE_FAILED_REDOWNLOAD); // result.setRedownloadCounts(3); // result.setMessage("MD5校验"+remoteFile+"失败,重试3次");//设置校验失败原因信息 // //根据remoteFile的信息计算md5文件路径地址,并下载,下载务必后进行签名校验 // //remoteFileAction.downloadFile("remoteFile.md5","dataFile.md5"); // return result; return Result.default_ok; } })
-
增加数据批量/串行同步写入redis案例
-
增加远程数据文件校验机制,以实现对数据文件md5签名校验、记录数校验、校验失败重试下载(支持设置重试下载次数)等功能,
-
数据加工处理改进:Context 接口getValue方法支持获取解析后的日志文件记录字段值
-
对作业启动日志中的数据源口令进行脱敏处理
Elasticsearch-datatran特色
Elasticsearch-datatran 由 bboss 开源的数据采集同步ETL工具,提供数据采集、数据清洗转换处理和数据入库功能。支持在Elasticsearch、关系数据库(mysql,oracle,db2,sqlserver、达梦等)、Mongodb、HBase、Hive、Kafka、文本文件、excel文件、SFTP/FTP多种数据源之间进行海量数据采集同步;支持数据实时增量采集和全量采集;支持根据字段进行数据记录切割;支持多级文件路径信息将不同文件数据写入不同的数据库表。
提供自定义处理采集数据功能,可以按照自己的要求将采集的数据处理到目的地,如需定制化将数据保存到特定的地方,可自行实现CustomOutPut接口处理即可。
Elasticsearch-datatran 的独特之处,其数据同步作业采用java语言开发,小巧而精致,可以用采用java提供的所有功能和现有组件框架,随心所欲地处理和加工海量存量数据、实时增量数据;可以根据数据规模及同步性能要求,按需配置和调整数据采集同步作业所需内存、工作线程、线程队列大小;可以将作业独立运行,亦可以将作业嵌入基于java开发的各种应用汇总运行;提供了作业任务监控api、作业启动和停止api,可轻松定制一款属于自己的ETL管理工具。
如果您还在苦于logstash、flume、filebeat之类的开源工具无法满足复杂的、海量的数据处理加工场景,那么Elasticsearch-datatran将是一个不错的选择。
Elasticsearch版本兼容性:支持各种Elasticsearch版本(1.x,2.x,5.x,6.x,7.x,8.x+)之间相互数据迁移
功能完备的文件数据采集插件:支持从ftp/sftp并行下载各种文件,并行采集和处理各种文件数据
导入bboss
一般项目导入下面的maven坐标即可:
<dependency>
<groupId>com.bbossgroups.plugins</groupId>
<artifactId>bboss-elasticsearch-rest-jdbc</artifactId>
<version>6.5.5</version>
</dependency>
如果是spring boot项目还需要导入下面的maven坐标:
<dependency>
<groupId>com.bbossgroups.plugins</groupId>
<artifactId>bboss-elasticsearch-spring-boot-starter</artifactId>
<version>6.5.5</version>
</dependency>