数据采集 ETL & 流批一体化框架 bboss v7.1.0 发布

来源: 投稿
作者: bboss
2023-09-25 15:17:00

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

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

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

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

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

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

v7.1.0 功能改进

  1. 流批一体化改进:框架增加了添加和获取用于指标计算处理等的临时数据到记录,不会对临时数据进行持久化处理 使用案例:

    //添加用于指标计算处理等的临时数据到记录,不会对临时数据进行持久化处理,
    context.addTempData("name","ddd");
    //获取用于指标计算处理等的临时数据到记录,不会对临时数据进行持久化处理,
    CommonRecord data = (CommonRecord) mapData.getData();
    
    String name = (String)data.getTempData("name");
  2. 流批一体化改进:修复指标分析器设置时间格式空指针异常

  3. 流批一体化改进:修复指标分析器设置时间窗口类型空指针异常

  4. Elasticsearch客户端改进:添加文档时,如果数据采用Map封装,控制是否保存文档id字段到记录中,true 保存 false 不保存,默认值true 使用案例:

    //创建创建/修改/获取/删除文档的客户端对象,单实例多线程安全
    ClientInterface clientUtil = ElasticSearchHelper.getRestClientUtil();
    //构建一个对象,日期类型,字符串类型属性演示
    Map demo = new LinkedHashMap();
    demo.put("demoId","2");//文档id,唯一标识,@PrimaryKey注解标示,如果demoId已经存在做修改操作,否则做添加文档操作
    demo.put("agentStarttime",new Date());
    demo.put("applicationName","blackcatdemo2");
    demo.put("contentbody","this-is content body2");
    demo.put("agentStarttime",new Date());
    demo.put("name","|刘德华");
    demo.put("orderId","NFZF15045871807281445364228");
    demo.put("contrastStatus",2);
    demo.put("localDateTime", LocalDateTime.now());
    
         //强制刷新
         ClientOptions addOptions = new ClientOptions();
         addOptions.setIdField("orderId");
         addOptions.setPersistMapDocId(false);
         //如果orderId对应的文档已经存在则更新,不存在则插入新增
         String response = clientUtil.addDocument("demonoid",//索引表
                 demo,addOptions);
  5. 流处理机制改进:根据时间窗口类型配置日期格式和相应的时间维度字段

  6. 流处理机制改进:useDefaultMapData调整为false

导入和使用 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 文件,解决单个文件导出数量过大问题

展开阅读全文
点击引领话题📣 发布并加入讨论🔥
0 评论
6 收藏
分享
返回顶部
顶部