GGitee1
26b1ec57创建于 2023年5月10日历史提交

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)。

img

img

参考资料: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社区,达到最终由社区开发者同步维护的目的,所以要求代码风格良好,代码注释全且全英文,文档以及相关测试代码必须齐全才算完整交付
  • 相关代码开发工作
  • 其他非开发者工作量(多种架构一键部署方案,脚本等等)