选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用视图

聚焦模式
使用视图 - Amazon Athena

在 Amazon Athena 中,视图是逻辑表,而非物理表。每次在查询中引用视图时,定义该视图的查询都会运行。您可以从 SELECT 查询创建视图,然后在未来的查询中引用该视图。

您可以在 Athena 中使用两种不同的视图:Athena 视图和 AWS Glue Data Catalog 视图。

何时使用 Athena 视图?

您可能希望创建 Athena 视图以达到以下目的:

  • 查询数据子集:例如,您可以根据原始表创建一个包含列子集的视图,以简化查询数据。

  • 合并表:您可以使用视图将多个表合并为一个查询。如果您有多个表,希望使用 UNION ALL 将它们组合起来,可以创建一个视图,利用表达式简化针对组合表的查询。

  • 隐藏复杂性:使用视图隐藏现有基本查询的复杂性和简化用户运行的查询。基本查询通常包括表之间的联接、列列表中的表达式和其他 SQL 语法,这使理解和调试查询变得困难。您可以创建一个能够隐藏复杂性和简化查询的视图。

  • 优化查询:您可以使用视图来试验优化技术,以创建优化的查询。例如,如果您发现某种 WHERE 条件、JOIN 命令或其他表达式的组合能带来最佳性能,则可以使用这些子句和表达式创建一个视图。应用程序然后可以针对此视图执行相对简单的查询。如果后来您又发现更好的优化原始查询的办法,则当您重新创建视图时,所有应用程序会立即利用优化的基本查询。

  • 隐藏底层名称:您可以使用视图隐藏底层表和列名称,并最大程度减少维护问题(如果这些名称改变)。如果名称发生变化,只需使用新名称重新创建视图即可。使用该视图而非表的查询直接保持运行,无需更改。

    有关更多信息,请参阅 使用 Athena 视图

何时使用 AWS Glue Data Catalog 视图?

当您想跨 AWS 服务(例如 Amazon Athena 和 Amazon Redshift)使用单一通用视图时,请使用 AWS Glue Data Catalog 视图。在 Data Catalog 视图中,访问权限由创建视图的用户(而不是查询视图的用户)定义。这种授权方法称为定义程序语义。

以下使用案例展示如何使用 Data Catalog 视图。

  • 优化访问控制 – 您可以创建视图,根据用户所需的权限级别来限制数据访问。例如,您可以使用 Data Catalog 视图来防止非人力资源(HR)部门的员工查看个人身份信息。

  • 确保记录完整 – 通过对 Data Catalog 视图应用某些筛选器,您可以确保 Data Catalog 视图中的数据记录始终完整。

  • 增强安全性 – 在 Data Catalog 视图中,用于创建视图的查询定义必须完好无损,才能创建视图。这样的话,Data Catalog 视图不易受到恶意行为者的 SQL 命令的影响。

  • 防止访问基础表 – 定义程序语义允许用户访问视图,而无需向他们提供基础表。只有定义视图的用户才需要访问表。

Data Catalog 视图定义存储于 AWS Glue Data Catalog。这意味着,您可以使用 AWS Lake Formation 通过资源授权、列授权或基于标签的访问控制来授予访问权限。有关在 Lake Formation 中授予和撤消访问权限的更多信息,请参阅《AWS Lake Formation Developer Guide》中的 Granting and revoking permissions on Data Catalog resources

有关更多信息,请参阅 在 Athena 中使用 Data Catalog 视图

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。