Apache Beam 架构原理及应用实践( 五 )

  • 卫星图像的土地利用分类
  • 智慧城市大数据集成
  • 平安城市及质量实时风控
  • 电商平台双十一活动实时数据处理
  • 国外的可以从官方网站上找到案例的原文,国内可以从新闻或者官方网站找到相应的案例 。
    在 AloT 场景下我们为什么会选择 Beam 呢?
    • 数据源可以适配,因为平安城市,雪亮工程数据源千奇百怪 。
    • 能够进行数据多样处理,连接,过滤,合并,拆分 。
    • 具有清洗脏数据功能,例如警情去重误报警,合规检测等 。
    • 具有大数据集群虚拟化部署功能,可扩展性,伸缩性 。
    • 具有实时处理和离线处理能力 。
    1. 案列系统架构图
    Apache Beam 架构原理及应用实践

    文章插图
    这是案例的总架构图,底层是 Beam SDK,上层是抽象封装的输入输出组件,以及清洗组件,类型管理,第三方 SDK,在往上层是组件配置管理,及版本控制,最上层是 jar 可视化配置,以及 SQL 可视化,最后把 jar 通过运维一体化平台提交给执行引擎集群,当然这里有个解析器,是我们自己开发的 。
    2. 示例架构图
    Apache Beam 架构原理及应用实践

    文章插图
    以下为示例架构图:
    ① 摄像头以及 AI 智能设备产生的报警以及抓取的信息上报到后端智能设备 。
    ② 智能设备产生的 AI 分析结果进行通过网关集群进行传输,注意网关集群地方要做流控及雪崩控制 。
    ③ 消息通过网关集群发送到消息中间件 。注意:这边这个规则下发是针对前段的数据进行 ETL 清洗的清洗规则的下发 。
    ④ Beam 集群接收下发规则的更新,并且根据规则进行数据清洗 。
    ⑤ 对于文档性的数据我们实时存储到实时搜索引擎 。
    ⑥ 需要复杂查询,统计以及报表的数据存储到 ClickHouse 。
    ⑦ 进行 BI 套件的展示以及前端大屏幕的展示 。
    3. 示例代码
    Apache Beam 架构原理及应用实践

    文章插图
    核心示例代码,首先创建管道工厂,然后显示设置执行引擎,根据 SDKIO 进行读取 kafka 的消息 。
    Apache Beam 架构原理及应用实践

    文章插图
    序列化消息,写入 es 进行备份,因为 es 数据是 json 的写入的时候首先要考虑转换成 json 类型 。这个地方我设置了一个编码,实体类的编码类型为 AvroCoder,编码类型是每个管道都要设置的 。
    Apache Beam 架构原理及应用实践

    文章插图
    把 kafka 的数据转换成 row 类型,这里就是运用了管道设计中的流分支处理 。
    Apache Beam 架构原理及应用实践

    文章插图
    最后一步是写入咱们的 clickhouse,大家可能对 clickhouse 不是很了解,这是俄罗斯的一家高科技公司研发的 。查询速度非常快,比 Hive 快279倍,比 MySQL 快801倍的神器 。
    4. 示例效果展示
    以下为写入 es 的效果 。这个字段写入时候自动创建 。
    Apache Beam 架构原理及应用实践

    文章插图

    Apache Beam 架构原理及应用实践

    文章插图
    今天的分享就到这里,谢谢大家 。
    【Apache Beam 架构原理及应用实践】▌关于持续问题咨询:
    • Apache Beam 官方网站
    https://beam.apache.org/
    • Apache Beam 开源地址
    https://github.com/apache/beam
    • Apache Beam Example 地址
    https://github.com/xsm110/Apache-Beam-Example
    user-subscribe@beam.apache.org
    dev-subscribe@beam.apache.org
    Apache Beam 架构原理及应用实践

    文章插图
    嘉宾介绍
    张海涛,海康威视金融事业部架构师,国际注册云安全系统认证专家 。目前负责全国金融行业AI大数据的基础架构工作,主导建设过云基础平台的架构设计及核心开发,并自研大数据组件获得过国家发明专利 。专注安防及 AloT 云计算大数据方向,是 Apache Beam 中文社区发起人之一及 ClickHouse 开源社区的核心开发人员 。




    推荐阅读