为AWS云端数据湖层定义 S3 存储桶和路径名称 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为AWS云端数据湖层定义 S3 存储桶和路径名称

Amazon Web Services 伊莎贝尔·伊马森、塞缪尔·施密特和安德烈斯·坎托 (AWS)

2021 年 11 月文件历史记录

本指南可帮助您为Amazon Web Services () 云端托管的数据湖中的Amazon S3AWS) 存储桶和路径创建统一的命名标准。该指南的 S3 存储桶和路径命名标准可帮助您改善数据湖中的治理和可观测性,按数据层确定成本AWS 账户,并提供命名AWS Identity and Access Management (IAM) 角色和策略的方法。

我们建议您在数据湖中至少使用三个数据层,并且每个层使用单独的 S3 存储桶。但是,某些用例可能需要额外的 S3 存储桶和数据层,具体取决于您生成和存储的数据类型。例如,如果您存储敏感数据,我们建议您使用landing zone 数据层和单独的 S3 存储桶。以下列表描述了数据湖的三个推荐数据层:

  • 原始数据层-包含原始数据,是最初摄取数据的层。如果可能,我们建议您保留原始文件格式并在 S3 存储桶中启用版本控制。

  • 阶段数据层-包含经过优化的中间处理数据(例如 CSV 到 Apache Parquet 转换的原始文件或数据转换)。AWS Glue作业从原始层读取文件并验证数据。然后,AWS Glue作业将数据存储在 Apache Parquet 格式的文件中,元数据存储在AWS Glue数据目录的表中。

  • 分析数据层 — 以消费就绪格式(例如 Apache Parquet)包含特定用例的汇总数据。

本指南的建议基于作者在使用无服务器数据湖框架 (SDLF) 实现数据湖方面的经验,适用于想要在上建立数据湖的数据架构师、数据工程师或解决方案架构师AWS Cloud。但是,您必须确保调整本指南的方法以满足组织的政策和要求。

该指南包含以下部分:

有针对性的业务成果

在AWS云端数据湖中为 S3 存储桶和路径实施命名标准后,您应该期待以下五种结果:

  • 改善数据湖中的治理和可观测性。

  • AWS 账户通过使用 S3 存储桶名称中的相关AWS账户 ID 来提高个人总体成本的可见性,并使用 S3 存储桶的成本分配标签,提高数据层总体成本的可见性。

  • 通过使用基于层的版本控制和基于路径的生命周期策略,实现更具成本效益的数据存储。

  • 满足数据屏蔽和数据加密的安全要求。

  • 通过增强开发人员对底层数据存储AWS 账户的AWS 区域和的可见性,简化数据源跟踪。