Iceberg是一种开放的数据湖表格式。完成对接华为云对接之后您可以借助Iceberg快速地在华为云OSS上构建自己的数据湖存储服务,并借助开源大数据生态的Spark、Flink、Hive和Presto等计算引擎来实现数据湖的分析。
Iceberg
项目背景
Iceberg是一种开放的数据湖表格式。完成对接华为云对接之后您可以借助Iceberg快速地在华为云OSS上构建自己的数据湖存储服务,并借助开源大数据生态的Spark、Flink、Hive和Presto等计算引擎来实现数据湖的分析。
Apache Iceberg设计初衷是为了解决Hive数仓上云的问题,经过多年迭代已经发展成为云上构建数据湖服务的表格式标准。关于Apache Iceberg的更多介绍,请参见Apache Iceberg官网。
目前Iceberg提供以下核心能力:
- 基于HDFS或者对象存储构建低成本的轻量级数据湖存储服务。
- 实现主流开源计算引擎入湖和分析场景的完善对接。
- 完善的ACID语义。
- 支持行级数据变更能力。
- 支持历史版本回溯。
- 支持高效的数据过滤。
- 支持Schema变更(Schema Evolution)。
- 支持分区布局变更(Partition Evolution)。
- 支持隐式分区(Hidden Partitioning)。


参考资料:https://help.aliyun.com/document_detail/312246.htm
https://blog.csdn.net/younger_china/article/details/125905449
https://zhuanlan.zhihu.com/p/428739980
扩展说明
| 扩展对象 | 对标 | 参考代码路径 | 功能要求 | 工作量对照(代码行) |
|---|---|---|---|---|
| nosql | aws-dynamodb | aws/org.apache.iceberg.aws.dynamodb | 通用权限认证代码 | |
| DataArts | aws-glue | aws/org.apache.iceberg.aws.glue | DynamoDBSource | |
| OBS | aws-DynamoDb | aws/org.apache.iceberg.aws.s3 | tryLock/unlock/getLock/close |
- SDK : https://github.com/huaweicloud/huaweicloud-sdk-java-v3
- 以上的参考代码路径和功能要求中所列出的包/类路径,只是主要逻辑代码的参考路径,会存在项目本身扩展逻辑相关的少量代码不在此列
- 本代码扩展的最后一步是将代码共享到iceberg社区,达到最终由社区开发者同步维护的目的,所以要求代码风格良好,代码注释全且全英文,文档以及相关测试代码必须齐全才算完整交付
- 相关代码开发工作
- 其他非开发者工作量(多种架构一键部署方案,脚本等等)
项目介绍
Iceberg是一种开放的数据湖表格式。完成对接华为云对接之后您可以借助Iceberg快速地在华为云OSS上构建自己的数据湖存储服务,并借助开源大数据生态的Spark、Flink、Hive和Presto等计算引擎来实现数据湖的分析。
定制我的领域