您现在的位置是:首页 > 文章详情

ETL & 流批一体化框架 bboss v7.1.3 发布

日期:2024-01-08点击:76

数据采集 ETL & 流批一体化框架 bboss v7.1.3 发布 --- 高效、稳定、快速、安全

本次版本最大亮点:从持久层和ETL两个方面优化对Clickhouse的支持,新增Clickhouse客户端负载均衡机制

bboss 是一个基于开源协议 Apache License 发布的开源项目,由开源团队 bboss 运维,主要由以下三部分构成:

  • Elasticsearch Highlevel Java Restclient , 一个高性能高兼容性的 Elasticsearch/Opensearch java 客户端框架

  • 数据采集同步 ETL ,一个基于 java 语言实现数据采集作业的强大 ETL 工具,提供丰富的输入插件和输出插件,可以基于插件规范轻松扩展新的输入插件和输出插件

  • 流批一体化计算框架,提供灵活的数据指标统计计算流批一体化处理功能的简易框架,可以结合数据采集同步 ETL 工具,实现数据流处理和批处理计算,亦可以独立使用;计算结果可以保存到各种关系数据库、分布式数据仓库 Elasticsearch、Clickhouse 等,特别适用于数据体量和规模不大的企业级数据分析计算场景,具有成本低、见效快、易运维等特点,助力企业降本增效。

项目源码地址参考:源码下载和构建

快速上手:https://esdoc.bbossgroups.com/#/quickstart

v7.1.3 功能改进

  1. 为Clickhouse数据源增加负载均衡机制,解决Clickhouse-native-jdbc驱动只有容灾功能而没有负载均衡功能的缺陷,使用方法如下:

    在jdbc url地址后面增加b.balance和b.enableBalance参数

     jdbc:clickhouse://101.13.6.4:29000,101.13.6.7:29000,101.13.6.6:29000/visualops?b.balance=roundbin&b.enableBalance=true

    b.enableBalance为true时启用负载均衡机制,并具备原有容灾功能,否则只具备容灾功能

     b.balance 指定负载均衡算法,目前支持random(随机算法,不公平机制)和    

     roundbin(轮询算法,公平机制)两种算法,默认random算法

另外也可以在DBConf上进行设置,例如:

 BConf tempConf = new DBConf(); tempConf.setPoolname(ds.getDbname()); tempConf.setDriver(ds.getDbdriver()); tempConf.setJdbcurl( ds.getDburl()); tempConf.setUsername(ds.getDbuser()); tempConf.setPassword(ds.getDbpassword()); tempConf.setValidationQuery(ds.getValidationQuery()); //tempConf.setTxIsolationLevel("READ_COMMITTED"); tempConf.setJndiName("jndi-"+ds.getDbname()); PropertiesContainer propertiesContainer = PropertiesUtil.getPropertiesContainer(); int initialConnections = propertiesContainer.getIntProperty("initialConnections",5); tempConf.setInitialConnections(initialConnections); int minimumSize = propertiesContainer.getIntProperty("minimumSize",5); tempConf.setMinimumSize(minimumSize); int maximumSize = propertiesContainer.getIntProperty("maximumSize",10); tempConf.setMaximumSize(maximumSize); tempConf.setUsepool(true); tempConf.setExternal(false); tempConf.setEncryptdbinfo(false); boolean showsql = propertiesContainer.getBooleanProperty("showsql",true); tempConf.setShowsql(showsql); tempConf.setQueryfetchsize(null); tempConf.setEnableBalance(true); tempConf.setBalance(DBConf.BALANCE_RANDOM); return SQLManager.startPool(tempConf);

持久层使用案例:

https://gitee.com/bboss/bestpractice/blob/master/persistent/src/com/frameworkset/sqlexecutor/TestClickHouseDB.java

ETL DB输出插件案例(DB输入插件类似):

https://gitee.com/bboss/bboss-datatran-demo/blob/main/src/main/java/org/frameworkset/elasticsearch/imp/clickhouse/Db2Clickhousedemo.java

  1. 优化停止db数据源机制,修复当停止数据源并移除数据源信息时,没有执行停止数据源操作

  2. 处理sqlite数据库创建statement兼容性问题

  3. Clickhouse-native-jdbc驱动兼容性问题修复处理

  4. 优化jvm推出机制:默认关闭jvm退出时注销ioc容器及相关资源 在启用自动关闭的情况下,才可以在jvm退出时自动关闭和释放资源,否则需要手动调用ShutdownUtil.shutdown()方法释放资源,启用自动释放资源方法:

     jvm命令行参数 -DenableShutdownHook=true 环境变量 enableShutdownHook=true 默认关闭: enableShutdownHook=false
  5. 文件输出插件文件序号在kafka、mysql cdc、MongoDB cdc等场景下序号滚动机制完善

  6. 完善持久层报错日志:数据源不存在时给出友好的提示信息

  7. 优化jackson对localdatetime类型的处理,如果没有引入jackson-datatype-jsr310插件,忽略加载localdatetime处理插件异常

  8. 优化基于消息流处理事件上下文重置机制

  9. 去重兼容老版本的maven坐标,兼容版本对应关系:

老版本坐标 新版本坐标
bboss-elasticsearch-rest-file2ftp bboss-datatran-fileftp
bboss-elasticsearch-rest-file bboss-datatran-fileftp
bboss-elasticsearch-rest-hbase bboss-datatran-hbase
bboss-elasticsearch-rest-jdbc bboss-datatran-jdbc
bboss-elasticsearch-rest-kafka1x bboss-datatran-kafka1x
bboss-elasticsearch-rest-kafka2x bboss-datatran-kafka2x
bboss-elasticsearch-rest-mongodb bboss-datatran-mongodb

参考上面的对应关系将老版本迁移到新版本的坐标即可

 

导入和使用 bboss

bboss 版本最新版本号从以下文档章节【1.1 在工程中导入 bboss maven 坐标获取:

https://esdoc.bbossgroups.com/#/db-es-tool

bboss ETL 插件使用指南

https://esdoc.bbossgroups.com/#/datatran-plugins

bboss 详细介绍文档

https://esdoc.bbossgroups.com/#/README

bboss 实战视频

Elasticsearch Bboss Stream ETL 介绍视频

实时采集 Mysql binlog 增删改数据视频教程

bboss 流批一体化计算入门教程

Elasticsearch 导出 Excel 文件,按记录数切割 Excel 文件,解决单个文件导出数量过大问题

通用数据库管理工具--支持关系数据库、Clickhouse、doris等数据库管理

https://doc.bbossgroups.com/#/tools

原文链接:https://www.oschina.net/news/274695/bboss-7-1-3-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章