浙江电信基于 Amoro + Apache Iceberg 构建实时湖仓实践

图片

Amoro 是一个构建在 Apache Iceberg 等开放数据湖表格之上的湖仓管理系统,提供了一套可插拔的数据自优化机制和管理服务,旨在为用户带来开箱即用的湖仓使用体验。

01 作者简介

喻志强,浙江电信大数据中心平台组负责人,拥有超10年电信行业数据仓库和大数据建设实施经验。资深商业化 MPP 数据库 Vertica 以及开源 MPP 数据库 StarRocks-DBA。目前主要参与基于 Apache Iceberg 的湖仓一体方向架构以及开源 MPP 产品数据应用集市的建设实施。

02 Apache Iceberg 在浙江电信

为什么选择 Iceberg

浙江电信大数据中心主要负责电信的业务数据汇聚和数仓生产以及部分数据应用。大数据架构革新到目前为止大体历经三个阶段

阶段一:数仓改造 Hive 探索

随着大数据体系的迭代我们开始构建以 Hive 为基础的实时经分大数据系统,同步探索数仓改造至 Hive 的可行性,但在转向 Hive 后我们遇到了以下问题:

  • 采用 MR 执行,离线批处理效率低下,相比在商业化 MPP 数据库上生产完成时间滞后了4-5小时

  • 缺少了关系型数据库的约束、严格的字段类型限制和 ACID 的语义以及第三方工具和平台的辅助,导致后续数据质量维护成本较高,数据质量不达标

基于以上因素,数仓暂停了改造 Hive 的过程,转回寻找更加物美价廉的商业化 MPP 产品了(主要从原 MPP 行式存储瓶颈着手,引入基于 x86 架构的列式存储 MPP 数据库)。已构建完成的大数据集群同步基于 Hive 探索承接部分时效性要求不高的数据应用任务。数据写入 Hive 流程如下:

图片

这里导数工具主要由本地采集团队通过 java 开发,定期通过访问 Oracle 从库抽取生成格式化的文本文件后写入 Hive。从而完成业务数据到数仓数据的同步。该方式的一大基础是 Oracle 从库的读取性能保证并且不影响业务系统库的使用,但同时定期触发的方式也注定了 Hive 中的数据时效性是比较差的。

阶段二:业务系统上云引起后端数仓以及应用系统的架构调整

后续随着浙江电信开启系统上云任务,业务系统库逐步从 Oracle 转为 TeleDB (电信基于 MySQL 自研关系型数据库),传统的直接读业务库数据写入数仓体系的数据流转链路会对 TeleDB 业务库造成很大的压力。在这些问题的驱动下我们的数据链路也发生了变化。

  • 15
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值