发布于: Nov 30, 2022
【概要】在本文中,我们将探索如何使用 Amazon Lake Formation 来构建、保护和管理数据湖。
开始数据湖搭建工作之前,我们先来认识一下数据湖。数据湖集中存储了任意量级的多种类数据,并允许数据分析人员和数据科学家等角色运用多种技术分析手段对这些数据进行处理。许多组织正在将其数据转移到数据湖中。
在本文中,我们将探索如何使用 Amazon Lake Formation 来构建、保护和管理数据湖。相比之下,基于云的数据湖可让我们对结构化和非结构化数据进行更灵活的分析。IT 人员可以预先聚合、组织、准备和保护任何量级的数据。然后,分析师和数据科学家可以使用他们自己选择的分析工具,根据适当的使用策略来访问这些数据。
不幸的是,构建、保护和开始管理数据湖的过程复杂且耗时,通常需要几个月的时间才能完成。 即便是在云中构建数据湖都需要完成许多手动且耗时的步骤:
- 设置存储。
- 移动、清理、准备和编目数据。
- 为每个服务配置和实施安全策略。
- 手动授予用户访问权限。
当前,IT 人员和架构师花费太多时间来创建数据湖、配置安全性以及响应数据请求。他们本可以将这些时间用来策划数据资源,或为分析师和数据科学家提供咨询。分析师和数据科学家必须等待整个建立过程完成才能访问所需数据。
下图显示了数据湖的建立过程:
数据湖储存海量的数据。在执行其他任何操作之前,必须设置存储空间以保存所有数据。如果使用的是 Amazon Web Services,可配置 Amazon S3 存储桶和分区。如果要在本地构建数据湖,则需要购买硬件,并设置大型磁盘阵列以存储所有数据。
连接本地和云中的不同数据源,然后在 IoT 设备上收集数据。接下来,从那些来源收集并组织相关的数据集,并爬取数据的元数据信息,然后将元数据标签添加到目录中。您可以使用下列服务来传输数据并进行 ETL 操作:
- Amazon Glue
- Amazon Database Migration Service (Amazon DMS)
- Amazon Kinesis
- Amazon Managed Streaming for Apache Kafka (Amazon MSK)(新)
- Amazon Transfer for SFTP 服务(新)
- Amazon Snowball
接下来,必须仔细对收集的数据进行分区、索引并转换为列格式,以优化性能和成本。您必须进行数据清理、删除重复项并匹配相关记录。
客户和监管机构要求组织保护敏感数据。合规涉及创建和应用数据访问、保护和合规性策略。例如,您在表或列级别限制对个人身份信息 (PII) 的访问,对所有数据进行加密,并保留有关谁在访问数据的审计日志。
现在,您可以使用 S3 存储桶上的访问控制列表或第三方加密和访问控制软件来保护数据。您为需要访问数据的每个分析服务创建并维护数据访问、保护和合规策略。例如,如果您正在使用 Amazon Redshift 和 Amazon Athena 对数据湖运行分析,则必须为每个服务设置访问控制规则。
许多客户使用 Amazon Glue 数据目录资源策略来配置和控制对其数据的元数据访问。有人则选择使用 Apache Ranger。但是这些方法可能很麻烦并且具有局限性。S3 策略最多能够提供表层级的访问控制。而且,您必须分别维护数据和元数据策略。使用 Apache Ranger,您一次只能配置对一个集群的元数据访问。而且,随着组织内访问数据湖的用户和团队数量的增长,策略可能变得繁多。