亚马逊AWS官方博客
利用 AWS Lake Formation 探索元数据:第 2 部分
Original URL:https://aws.amazon.com/blogs/big-data/discover-metadata-with-aws-lake-formation-part-2/
数据湖是一种用于聚合、存储和分析结构化和非结构化数据的日益流行的方法。AWS Lake Formation 使您可以轻松设置、保护和管理数据湖。
先决条件
对于本博文,您需要:
控制台中的元数据搜索
在本博文中,我们将演示 Lake Formation 控制台提供的目录搜索功能:
- 按分类搜索
- 按关键字搜索
- 按“标记:属性”搜索
- 多个筛选器搜索
按分类搜索
使用元数据目录搜索功能,在数据湖内的所有表中进行搜索。两个表共享名称 amazon_reviews,但分别属于模拟的“生产”数据库和“测试”数据库,第三个表是 trip-data。
- 在 Lake Formation 控制台的数据目录下,选择表。
- 在搜索栏中的资源属性下,选择分类,键入 CSV,然后按 Enter。您应该只会看到 trip_data 表,该表在数据湖中格式化为 CSV。amazon_reviews 表未显示,因为它们采用 Parquet 格式。
- 在名称列中,选择 trip_data。在表详细信息下,您可以看到元数据搜索筛选器正确识别了分类 CSV。
按关键字搜索
接下来,按关键字搜索整个数据湖,以筛选元数据。
- 要刷新表列表,请在数据目录下再次选择表。
- 在搜索栏中键入
star_rating
,然后按 Enter。现在您已经应用了筛选器,您应该只会看到 amazon_reviews 表,因为它们都包含名为 star_rating 的列。 - 通过选择两个表中的任何一个,您可以向下滚动到架构部分,并确认它们包含 star_rating 列。
多个筛选器搜索
最后,尝试一次使用多个筛选器搜索整个数据湖。
- 要刷新表列表,请在数据目录下选择表。
- 在搜索栏中,选择位置,键入
S3
,然后按 Enter。对于本博文,所有目录表都位于 S3 中,因此将显示所有三个表。 - 在搜索栏中,选择分类,键入
parquet
,然后按 Enter。您应该只会看到 amazon_reviews 表,因为它们是 S3 中唯一以 Parquet 格式存储的表。 - 从显示的 amazon_reviews 表中任意选择一个表。在表详细信息下,您可以看到以下信息。
- 位置:S3
- 分类:parquet
受列权限限制的元数据搜索结果
元数据搜索功能基于在 Lake Formation 中指定的权限来返回结果。如果用户或角色无权访问特定的数据库、表或列,则该元素不会显示在该用户的搜索结果中。
要对此进行演示,请先创建 IAM 用户 dataResearcher,该用户可访问 AWS 管理控制台。确保将密码存储在安全位置。
为了简化本博文,为用户附加管理员访问权限策略。此策略授予对您的 AWS 账户的完全访问权限,这是过度宽松的访问权限。建议您在学完本博文后删除该用户,或者删除此策略,然后启用多重身份验证 (MFA)。有关更多信息,请参阅在控制台中创建 IAM 用户。
在本系列的第 1 部分中,您允许任何人查看由 AWS Glue 爬网程序创建的表。现在,请撤销对 ny-taxi 数据库的这些权限。
- 在 Lake Formation 控制台的权限下,选择数据权限。
- 向下滚动或搜索,直到看到 trip_data 表的任何人记录。
- 选择记录,然后选择撤销、撤销。
现在,dataResearcher IAM 用户无法查看 ny-taxi 数据库或 trip_data 表。通过设置 Lake Formation 权限来解决此问题。
- 在权限下,依次选择数据权限、授予。
- 选择 dataResearcher 用户、ny-taxi 数据库和 trip_data 表。
- 在表权限下,选中选择,然后选择授予。
- 注销控制台,然后使用您先前创建的 dataResearcher IAM 用户重新登录。
- 在 Lake Formation 控制台中,依次选择表、trip_data 表,然后查看其属性:
dataResearcher 用户当前可以查看所有这些列。但是,您不希望此用户查看上车或下车地点,因为这样做存在潜在的隐私风险。请从 dataResearcher 用户的权限中删除这些列。
- 注销 dataResearcher 用户并使用您的管理员账户重新登录。
- 在 Lake Formation 控制台的权限下,选择数据权限。
- 选择 dataResearcher 记录,然后选择撤销。
- 在撤销页面的列下,选择除排除列外的所有列,然后选择 vendor_id、passenger_count、trip_distance 和 total_amount 列。
- 在表权限下,选中选择。这些设置会撤销 dataResearcher 用户对 trip_data 表(窗口中选择的列除外)的所有权限。换言之,dataResearcher 用户只能选择(查看)四个所选列。
- 选择撤销。
- 以 dataResearcher 用户身份重新登录。
- 在 Lake Formation 控制台中,依次选择数据目录、表。搜索
vendor_id
,然后按 Enter。trip_data 表将显示在搜索结果中,如以下屏幕截图所示。 - 搜索 pu_location_id。由于您撤销了对此列的权限,因此未返回任何结果,如以下屏幕截图所示。
小结
恭喜,您已经学习了如何使用 Lake Formation 的元数据搜索功能。通过定义特定的用户权限,Lake Formation 允许您授予和撤销对数据目录中的元数据以及存储在 S3 中的基础数据的访问权限。因此,您可以使用单个窗格在整个 AWS 环境中发现数据源。要了解更多信息,请参阅 AWS Lake Formation。
关于作者
Julia Soscia 是总部设在纽约市的 Amazon Web Services 的解决方案架构师。她的主要工作是帮助客户在 AWS 云平台上创建架构完善的环境。她是一位经验丰富的数据分析师,专注于大数据和分析。
Eric Weinberg 是 AWS Envision Engineering 团队的系统开发工程师。他在构建和设计软件应用程序方面拥有 15 年的经验。
Francesco Marelli 是 Amazon Web Services 的高级解决方案架构师。他在分析和数据管理方面拥有二十多年的经验。
Mat Werber 是 AWS 社区 SA 团队的解决方案架构师。 他负责在整个 AWS 堆栈中提供架构指导,并专注于无服务器、Redshift、DynamoDB 和 RDS。他还在 IT 监管、风险和控制方面具有审计背景。