亚马逊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 使您可以轻松设置、保护和管理数据湖。

在本博文系列的第 1 部分中,您学习了如何使用 Lake Formation 来创建和探索数据湖。本博文将引导您使用控制台中的 Lake Formation 的元数据搜索功能来发现数据,并了解受列权限限制的元数据搜索结果。

先决条件

对于本博文,您需要:

控制台中的元数据搜索

在本博文中,我们将演示 Lake Formation 控制台提供的目录搜索功能:

  • 按分类搜索
  • 按关键字搜索
  • 按“标记:属性”搜索
  • 多个筛选器搜索

按分类搜索

使用元数据目录搜索功能,在数据湖内的所有表中进行搜索。两个表共享名称 amazon_reviews,但分别属于模拟的“生产”数据库和“测试”数据库,第三个表是 trip-data

  1. 在 Lake Formation 控制台的数据目录下,选择
  2. 在搜索栏中的资源属性下,选择分类,键入 CSV,然后按 Enter。您应该只会看到 trip_data 表,该表在数据湖中格式化为 CSV。amazon_reviews 表未显示,因为它们采用 Parquet 格式。
  3. 名称列中,选择 trip_data。在表详细信息下,您可以看到元数据搜索筛选器正确识别了分类 CSV

按关键字搜索

接下来,按关键字搜索整个数据湖,以筛选元数据。

  1. 要刷新表列表,请在数据目录下再次选择
  2. 在搜索栏中键入 star_rating,然后按 Enter现在您已经应用了筛选器,您应该只会看到 amazon_reviews 表,因为它们都包含名为 star_rating 的列。
  3. 通过选择两个表中的任何一个,您可以向下滚动到架构部分,并确认它们包含 star_rating 列。

多个筛选器搜索

最后,尝试一次使用多个筛选器搜索整个数据湖。

  1. 要刷新表列表,请在数据目录下选择
  2. 在搜索栏中,选择位置,键入 S3,然后按 Enter。对于本博文,所有目录表都位于 S3 中,因此将显示所有三个表。
  3. 在搜索栏中,选择分类,键入 parquet,然后按 Enter。您应该只会看到 amazon_reviews 表,因为它们是 S3 中唯一以 Parquet 格式存储的表。
  4. 从显示的 amazon_reviews 表中任意选择一个表。在表详细信息下,您可以看到以下信息。
  • 位置:S3
  • 分类:parquet

受列权限限制的元数据搜索结果

元数据搜索功能基于在 Lake Formation 中指定的权限来返回结果。如果用户或角色无权访问特定的数据库、表或列,则该元素不会显示在该用户的搜索结果中。

要对此进行演示,请先创建 IAM 用户 dataResearcher,该用户可访问 AWS 管理控制台。确保将密码存储在安全位置。

为了简化本博文,为用户附加管理员访问权限策略。此策略授予对您的 AWS 账户的完全访问权限,这是过度宽松的访问权限。建议您在学完本博文后删除该用户,或者删除此策略,然后启用多重身份验证 (MFA)。有关更多信息,请参阅在控制台中创建 IAM 用户

在本系列的第 1 部分中,您允许任何人查看由 AWS Glue 爬网程序创建的表。现在,请撤销对 ny-taxi 数据库的这些权限。

  1. 在 Lake Formation 控制台的权限下,选择数据权限
  2. 向下滚动或搜索,直到看到 trip_data 表的任何人记录。
  3. 选择记录,然后选择撤销撤销

现在,dataResearcher IAM 用户无法查看 ny-taxi 数据库或 trip_data 表。通过设置 Lake Formation 权限来解决此问题。

  1. 权限下,依次选择数据权限授予
  2. 选择 dataResearcher 用户、ny-taxi 数据库和 trip_data 表。
  3. 表权限下,选中选择,然后选择授予
  4. 注销控制台,然后使用您先前创建的 dataResearcher IAM 用户重新登录。
  5. 在 Lake Formation 控制台中,依次选择trip_data然后查看其属性:

dataResearcher 用户当前可以查看所有这些列。但是,您不希望此用户查看上车下车地点,因为这样做存在潜在的隐私风险。请从 dataResearcher 用户的权限中删除这些列。

  1. 注销 dataResearcher 用户并使用您的管理员账户重新登录。
  2. 在 Lake Formation 控制台的权限下,选择数据权限
  3. 选择 dataResearcher 记录,然后选择撤销
  4. 撤销页面的下,选择除排除列外的所有列,然后选择 vendor_idpassenger_counttrip_distancetotal_amount 列。
  5. 表权限下,选中选择。这些设置会撤销 dataResearcher 用户对 trip_data 表(窗口中选择的列除外)的所有权限。换言之,dataResearcher 用户只能选择(查看)四个所选列。
  6. 选择撤销
  7. dataResearcher 用户身份重新登录。
  8. 在 Lake Formation 控制台中,依次选择数据目录。搜索 vendor_id,然后按 Enter。trip_data 表将显示在搜索结果中,如以下屏幕截图所示。
  9. 搜索 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 监管、风险和控制方面具有审计背景。