数据湖:Apache Iceberg在腾讯的探索和实践

摘要:今天分享的是Apache Iceberg在腾讯内部的探索和实践。本文结合腾讯大数据技术分享内容和2020全球软件开发大会分享内容进行整理,主要内容包括:

1、数据湖技术概述

2、Apache Iceberg的简介

3、腾讯为什么选择Apache Iceberg

4、腾讯看点万亿数据下的业务痛点

5、Apache Iceberg在看点实践

6、Apache Iceberg读写和删除

Apache Iceberg新一代数据湖技术

Apache Iceberg是一种新的表格格式,用于存储移动缓慢的大型表格数据。它旨在改进Hive、Trino和Spark中内置的事实上的标准表布局。

一、数据湖技术概述

数据湖产生的背景:

随着大数据存储和处理需求越来越多样化,如何构建一个统一的存储,并在其上进行多种形式的数据分析,成了企业构建大数据生态的一个重要方向。如何快速、一致、原子性地在存储上构建起 Data Pipeline,成了亟待解决的问题。为此,Uber 开源了 Apache Hudi,Databricks 提出了 Delta Lake,而 Netflix 则发起了 Apache Iceberg 项目。一时间这种具备 ACID 能力的表格式中间件成为了大数据、数据湖领域炙手可热的方向。

腾讯在 2019 年开始投入研发 Apache Iceberg,阿里巴巴也联合 Apache Iceberg 社区积极推动 Flink 实时数据湖技术方案的落地。

那么Apache Iceberg有什么独到之处呢,受到国内两家互联网巨头的青睐?本文跟大家慢慢道来,感兴趣的读者可以关注、收藏哦。

计算引擎之下、存储之上:

数据库大牛、图灵奖获得者 Michael Stonebraker 曾在 MapReduce 诞生之初撰写过一篇文章,题为“MapReduce: A major step backwards”。Michael Stonebraker 在文章中直截了当地指出:MapReduce 忽视了数据库领域积累超过 40 年的技术经验。

虽然大数据技术的出现和迭代降低了用户处理海量数据的门槛,但另一方面,与数据库这样高度优化的技术相比,大数据技术的抽象和实现还是太原始和初级。因此大数据技术在后续十几年的发展中,一直以数据库为目标,将更多数据库的成熟技术和理念借鉴到大数据中。

如何定义这类新技术:

简单地说,这类新技术是介于上层计算引擎和底层存储格式之间的一个中间层,我们可以把它定义成一种“数据组织格式”。

Iceberg 将其称之为“表格式”,也是表达类似的含义。它与底层的存储格式(比如 ORC、Parquet 之类的列式存储格式)最大的区别是,它并不定义数据存储方式,而是定义了数据、元数据的组织方式,向上提供统一的“表”的语义。它构建在数据存储格式之上,其底层的数据存储仍然使用 Parquet、ORC 等进行存储。

数据湖技术总结:

主要思想:对所有数据统一存储,通过计算能够生成符合要求的各种数据

物理实现:数据存储平台

实现方式:通常基于Hadoop生态,但不仅限于Hadoop

粗暴理解:数据仓库HIVE

数据湖技术的发展及问题:

计算引擎发展:

HIVE on MR → Spark、Presto、Impala

存储格式发展:

Text、RCFile → ORCFile、Parquet

存在问题:

数据读写没有ACID保证

数据没有版本控制

无法高效Update/Delete

分区管理不灵活

二、Apache Iceberg简介

简介:

Apache Iceberg 由Netflix 发起,现已开源到Apache,作为新一代的存储正在飞速的发展中,目前最新版本为V1.0。

Apache Iceberg是一种新的表格格式,用于存储移动缓慢的大型表格数据。它旨在改进Hive、Trino和Spark中内置的事实上的标准表布局。

可靠性、性能:

Iceberg 是为Bigtable而建的。Iceberg 用于生产中,其中单个表可以包含数十 PB 的数据,甚至可以在没有分布式 SQL 引擎的情况下读取这些巨大的表。

特点:

扫描计划很快 - 读取表或查找文件不需要分布式 SQL 引擎

高级过滤 - 使用表元数据,使用分区和列级统计信息修剪数据文件

Iceberg 旨在解决最终一致的云对象存储中的正确性问题。

适用于任何云存储,并通过避免列出和重命名来减少HDFS中的NN拥塞

可序列化隔离 - 表更改是原子的,读者永远看不到部分或未提交的更改

多个并发写入程序使用乐观并发,并将重试以确保兼容的更新成功,即使写入发生冲突

Iceberg的优势:

更开放的框架,既独立于上层计算引擎又独立于下层存储

接口抽象程度高,兼容性好,迁移成本低

对各种引擎提供针对性的优化化

Iceberg的劣势:

Iceberg 诞生的时间不长,功能上仍有不足

Iceberg 最重要的缺失点是和上层引擎的对接

Iceberg 缺少行级更新、删除能力

三、腾讯选择Iceberg

Iceberg解决的痛点:

T+0 的数据落地和处理:

传统的数据处理流程从数据入库到数据处理通常需要一个较长的环节、涉及许多复杂的逻辑来保证数据的一致性,由于架构的复杂性使得整个流水线具有明显的延迟。Iceberg 的 ACID 能力可以简化整个流水线的设计,降低整个流水线的延迟。

降低数据修正的成本:

传统 Hive/Spark 在修正数据时需要将数据读取出来,修改后再写入,有极大的修正成本。Iceberg 所具有的修改、删除能力能够有效地降低开销,提升效率。

技术方面的考量:

Iceberg 的架构和实现并未绑定于某一特定引擎,它实现了通用的数据组织格式,利用此格式可以方便地与不同引擎(如 Flink、Hive、Spark)对接

良好的架构和开放的格式。相比于 Hudi、Delta Lake,Iceberg 的架构实现更为优雅,同时对于数据格式、类型系统有完备的定义和可进化的设计

面向对象存储的优化。Iceberg 在数据组织方式上充分考虑了对象存储的特性,避免耗时的 listing 和 rename 操作,使其在基于对象存储的数据湖架构适配上更有优势

四、腾讯看点业务痛点

腾讯看点业务数据已经发展到万亿级别,在这种超大数据量的场景下,会有哪些痛点呢?腾讯技术大牛又是如何解决的呢?

腾讯看点主要内容:

数据来源:

产生的问题:

五、Iceberg在看点实践

通过前期充分调研,结合目前技术、社区等现状,Iceberg当仁不让被选中了。在解决看点业务中Iceberg发挥着怎样的作用呢,一起来看看。

在框架中Iceberg的作用1:

带来的收益1:

在框架中Iceberg的作用2:

带来的收益2:

六、Iceberg读写和删除

Iceberg读写文件:

分区查找优化:

行级删除设计:

写在最后

数据湖技术可谓是时代发展的必然趋势,通过数据湖,用户能够以自己的方式访问和探索数据,无需将数据移入其他系统。不同于定期从其他平台或数据库提取分析报告,数据湖的分析和报告通常可以临时获取。

今天分享的内容先到这里了,欢迎感兴趣的小伙伴关注、交流。让我们站在巨人的肩膀上,不断砥砺前行。

 往期精选▼

Flink在新浪微博的在线机器学习和实时数据分析

阿里巴巴2020年双11: Flink流批一体化真的来了

Flink模型服务和实时特征生成在Razorpay的实践

3种交叉验证与参数选择方式

趣头条爬虫(以财经频道为例)

Spark Shuffle调优之调节map端内存缓冲与reduce端内存占比

Spark Shuffle调优之合并map端输出文件

Flink调优法则

5个Hadoop优化技巧

4个角度轻松理解 Flink中的Watermark

Flink中Checkpoint和Savepoint 的 3 个不同点

Flink实现固定时长或消息条数的触发器

Flink方案设计中的4大误区

使用 Broadcast State 的 4 个注意事项

3种Flink State Backend | 你该用哪个?

一文搞定 Flink 异步 I/O

Flink State 使用的4点建议

Flink在开发中的7点建议

 

内容概要:本报告系统分析了2026年车载光纤通信的技术路线、标准体系、产业成熟度及测试评价方法,重点聚焦多千兆玻璃光纤(GOF)塑料光纤(POF)在汽车高速通信中的应用前景。报告指出,在电子电气架构向中央计算演进背景下,高带宽、长距离、强电磁兼容(EMC)等场景推动车载光纤从技术可行性迈向产业化导入阶段。IEEE 802.3cz、ISO 24581OPEN Alliance TC7等标准构建了多千兆光以太网的技术底座,但量产落地仍面临互操作性、可靠性、维修性全生命周期成本挑战。为此,报告提出“部件级—链路级—网络级—整车场景级”四层测试评价体系,并建议实验室分三阶段建设能力,量产风险判定分级模型、六级产业成熟度评估框架,以支撑从研发到量产的闭环验证。同时附路线选型评分表、全套测试项目清单、实验室建设核查清单及专业术语附录,客观区分样品验证、样机演示、部件量产、车型 SOP、规模化平台应用不同产业化阶段证据边界,明确车载光纤不会全面替代铜缆,仅优先落地高带宽、长距离、强电磁隔离高价值链路。 适合人群:整车企业、Tier 1供应商、检测认证机构、通信与网络研发团队、标准研究人员及实验室技术人员; 使用场景及目标:①评估车载光纤在中央计算骨干、智能驾驶数据汇聚、智能座舱高清连接高压EMC等场景的应用优先级;②制定技术路线选择、供应商准入、设计验证与生产验证的测试策略;③规划建设车载光纤测试实验室的能力体系与设备投入路径; 阅读建议:本报告为基于公开信息的专业技术研究,不构成投资或采购决策依据。读者应结合自身车型任务剖面、平台规划技术储备,重点参考第2章技术路线选择矩阵、第7章四层测试体系第8章实验室建设路线图,并关注附录中的测试项目总表与检查清单,以实现从理论到工程实践的转化。
这个是完整源码 java实现 大数据 Spark 可视化大屏+Kafka+SpringBoot+Vue3 【大数据毕业设计】基于Spark实时医疗健康数据监测与疾病预测系统(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 源码+论文 完整版 数据库Mysql 随着医疗信息化与物联网可穿戴设备的快速发展,医院与健康管理机构面临着体征数据规模大、产生速度快、分析时效性要求高的挑战。传统以事后统计为主的信息系统难以满足实时监测与早期预警需求。本文设计并实现了一套基于Spark的实时医疗健康数据监测与疾病预测系统,围绕“数据采集—消息传输—流式聚合—风险预测—可视化展示”的完整链路开展研究与开发。 系统后端采用Java 17与Spring Boot 3构建RESTful服务,结合Spring Security与JWT完成管理员身份认证;数据访问层使用MyBatis-Plus操作MySQL数据库db_health;实时事件通过Apache Kafka主题health_vitals进行解耦传输;计算层引入Apache Spark SQL与Spark MLlib,对按小时窗口聚合的风险指数序列进行线性回归预测,并计算RMSE、MAE、MAPE误差指标。前端采用Vue 3、Vite、Element Plus与ECharts实现管理后台与数据大屏,支持患者档案管理、体征记录查询、实时统计分析、疾病风险预测对比以及个人中心(头像上传、资料修改、密码修改)等功能。 测试结果表明,系统能够稳定完成模拟体征数据的持续接入与入库,实时统计与预测结果可在前端动态刷新,功能完整性与交互可用性满足本科毕业设计要求。本课题将大数据流处理、机器学习预测与Web工程实践相结合,对智慧医疗场景下的实时健康管理具有一定参考价值。
内容概要:本文档为一篇博士论文的复现资源,系统研究了光伏并网逆变器在弱电网环境下的交互稳定性问题,核心围绕序阻抗建模、扫频辨识方法及稳定性分析展开。基于谐波线性化理论,建立了并网逆变器的正负序阻抗模型,并通过Matlab编程与Simulink仿真平台实现模型构建与参数辨识,采用扫频法对模型进行精确验证,进一步结合阻抗稳定性判据评估系统在弱电网条件下的稳定裕度。资源涵盖完整的算法代码与仿真实例,深入揭示了并网逆变器小信号稳定性的内在机理,为相关领域的建模与分析提供了可复现的技术路径。; 适合人群:具备电力电子、自动控制理论及新能源并网系统基础知识的研究生、科研人员及工程技术人员,尤其适用于从事光伏逆变器控制策略设计、电网适应性分析与稳定性评估的专业研究人员。; 使用场景及目标:①掌握基于谐波线性化的并网逆变器序阻抗建模理论与具体实现方法;②学习并应用扫频辨识技术完成阻抗模型的仿真辨识与有效性验证;③深入理解弱电网背景下并网系统的稳定性问题,支撑高水平科研课题开展、学术论文撰写及实际工程中的稳定性优化设计。; 阅读建议:建议结合提供的Matlab代码与Simulink模型同步运行,逐模块调试并观察仿真结果,深刻领会阻抗建模过程与稳定性判据的应用逻辑,鼓励将所学方法迁移至其他类型逆变器或复杂电网场景的稳定性分析中,以拓展研究深度与广度。
内容概要:本文聚焦于“考虑电动汽车灵活性的微网多时间尺度协调调度”这一关键课题,提出了一种融合电动汽车(EV)灵活充放电响应能力的微电网优化调度模型,并基于Matlab平台完成了代码实现与仿真验证。研究采用日前-实时等多时间尺度协调优化框架,深入挖掘电动汽车作为移动式储能单元在时空维度上的调度潜力,使其有效参与微电网的能量平衡调节与需求响应过程,从而显著提升系统对光伏发电等可再生能源出力波动的适应能力,增强微网运行的经济性、可靠性与稳定性。文中系统探讨了电动汽车集群行为建模、用户出行约束、不确定性处理机制、多目标优化算法设计及多时间尺度协调策略等核心技术环节,为高比例新能源接入下的微网能量管理提供了完整的解决方案。; 适合人群:具备电力系统分析、能源互联网、优化控制等相关专业知识背景,熟悉Matlab编程环境,从事微电网能量管理、电动汽车与电网互动(V2G)、智能电网、可再生能源消纳等领域研究的硕士/博士研究生、科研人员及工程技术人员。; 使用场景及目标:①为微电网能量管理系统(EMS)的设计与高级功能开发提供核心算法支持;②支撑含有高渗透率可再生能源与大规模柔性负荷的主动配电网优化运行研究;③探索电动汽车聚合商参与电力市场辅助服务(如调峰、备用)的商业模式与技术路径;④作为相关领域科研项目、学位论文或工程仿真的基础模型与代码参考。; 阅读建议:建议读者结合提供的Matlab代码逐行研读,深入理解模型构建的数学逻辑与求解流程,重点关注电动汽车灵活性量化表征与多时间尺度滚动优化协调机制的设计思想,可在此基础上进一步拓展至碳交易机制、价格型/激励型需求响应、分布式能源协同等综合应用场景的研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值