极客视点
极客时间编辑部
极客时间编辑部
113243 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/06:18
登录|注册

为什么腾讯会看好开源数据湖框架Iceberg?

讲述:丁婵大小:8.66M时长:06:18
你好,欢迎收听极客视点。
随着大数据存储和处理需求越来越多样化,如何构建一个统一的数据湖存储,并在其上进行多种形式的数据分析,成了企业构建大数据生态的一个重要方向。一时间,Apache Hudi、 Delta Lake、Apache Iceberg 等具备 ACID 能力的表格式中间件成为了大数据、数据湖领域炙手可热的方向。
在基础软件开源化的趋势下,腾讯于 2018 年加入大数据存储开源项目 Apache Ozone,后又于 2019 年开始投入研发 Apache Iceberg;阿里巴巴也正联合 Apache Iceberg 社区积极推动 Flink 实时数据湖技术方案的落地。
为什么阿里和腾讯都在积极投入 Iceberg 的开源生态?Iceberg 有什么独到之处?近期 InfoQ 记者蔡芳芳采访了腾讯数据平台部数据湖内核技术负责人、资深大数据工程师邵赛赛,他分享了腾讯选择 Iceberg 前后的一些思考和采用 Iceberg 之后所做的优化工作

为什么选择 Iceberg?

当谈及引入 Iceberg 的原因,邵赛赛表示,当时团队在构建大数据生态的过程中遇到了几个痛点,而 Iceberg 恰好能解决这几个痛点:
T+0 的数据落地和处理。传统的数据处理流程从数据入库到数据处理通常需要一个较长的环节、涉及许多复杂的逻辑来保证数据的一致性,由于架构的复杂性使得整个流水线具有明显的延迟。Iceberg 的 ACID 能力可以简化整个流水线的设计,降低整个流水线的延迟。
降低数据修正的成本。传统 Hive/Spark 在修正数据时需要将数据读取出来,修改后再写入,有极大的修正成本。Iceberg 所具有的修改、删除能力能够有效地降低开销,提升效率。
至于为何最终选择采用 Iceberg,而不是其他两个开源项目,技术方面的考量主要有以下几点:
Iceberg 的架构和实现并未绑定于某一特定引擎,它实现了通用的数据组织格式,利用此格式可以方便地与不同引擎对接,这对于腾讯内部落地是非常重要的,因为上下游数据管道的衔接往往涉及到不同的计算引擎;
良好的架构和开放的格式。相比于 Hudi、Delta Lake,Iceberg 的架构实现更为优雅,同时对于数据格式、类型系统有完备的定义和可进化的设计;
面向对象存储的优化。Iceberg 在数据组织方式上充分考虑了对象存储的特性,避免耗时的 listing 和 rename 操作,使其在基于对象存储的数据湖架构适配上更有优势。
除去技术上的考量,邵赛赛和团队也对代码质量、社区等方面做了详细的评估。
首先,整体架构代码上的抽象和优势,以及这些优势对于未来进行演化的能力是团队非常关注的。一门技术需要能够在架构上持续演化,而不会具体实现上需要大量的不兼容重构才能支持。
其次,社区的活跃度是另一个考量,更重要的是在这个社区中腾讯能做些什么,能发挥什么样的价值。如果社区相对封闭或已经足够成熟,那么腾讯加入后能发挥的价值就没有那么大了,在选择技术时这也是团队的一个重要考量点。
还有技术的中立性和开放性。社区能够以开放的态度去推动技术的演化,而不是有所保留地向社区贡献,同时社区各方相对中立而没有一个相对的强势方来完全控制社区的演进。

优化和改进

从正式投入研发到现在,腾讯在开源版本的基础上对 Iceberg 进行了一些优化和改进,主要包括:
实现了行级的删除和更新操作,极大地节省了数据修正和删除所带来的开销;
对 Spark 3.0 的 DataSource V2 进行了适配,使用 Spark 3.0 的 SQL 和 DataFrame 可以无缝对接 Iceberg 进行操作;
增加了对 Flink 的支持,可以对接 Flink 以 Iceberg 的格式进行数据落地。
这些改进点提高了 Iceberg 在落地上的可用性,也为它在腾讯内部落地提供了更为吸引人的特性。同时腾讯也在积极拥抱社区,大部分的内部改进都已推往社区,一些内部定制化的需求也会以更为通用的方式贡献回社区。
目前腾讯正在积极尝试将 Iceberg 融入其大数据生态中,其中最主要的挑战在于如何与腾讯现有系统以及自研系统适配,以及如何在一个成熟的大数据体系中寻找落地点并带来明显的收益。邵赛赛具体提到了以下几点:
Iceberg 的上下游配套能力的建设相对缺乏,需要较多的配套能力的建设,比如 Spark、Hive、Flink 等不同引擎的适配;
Iceberg 核心能力成熟度的验证,是否能够支撑起腾讯大数据量级的考验,其所宣称的能力是否真正达到了企业级可用,都需要进一步验证和加强;
腾讯内部大数据经过多年发展,已经形成了一整套完整的数据接入分析方案,Iceberg 如何能够在内部落地,优化现有的方案非常重要。
以上就是今天的内容,希望对你有所帮助。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • jeff
收起评论
显示
设置
留言
1
收藏
59
沉浸
阅读
分享
手机端
快捷键
回顶部