Athena 视图注意事项和限制 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Athena 视图注意事项和限制

Athena 视图具有以下注意事项和限制。

注意事项

以下注意事项适用于在 Athena 中创建和使用视图:

  • 在 Athena 中,您可以预览和使用在 Athena 控制台、Amazon Glue Data Catalog 中或通过运行于连接到同一目录的 Amazon EMR 集群上的 Presto 创建的视图。

  • 如果您已在 Data Catalog 中创建了 Athena 视图,则数据目录会将视图视为表。您可以使用在 Data Catalog 中表级精细访问控制来限制对这些视图的访问

  • Athena 可防止您运行递归视图,如有运行,则会显示错误消息。递归视图是引用自身的视图查询。

  • Athena 在检测到过时视图时会显示错误消息。发生以下一种情况时,会报告过时的视图:

    • 视图引用了不存在的表或数据库。

    • 在引用的表中进行了架构或元数据更改。

    • 删除了引用的表并使用不同的架构或配置重新创建。

  • 您可以创建并运行嵌套视图,只要嵌套视图背后的查询有效以及表和数据库存在。

限制

  • Athena 视图名称不能包含下划线 (_) 之外的特殊字符。有关更多信息,请参阅 命名数据库、表和列

  • 避免使用保留关键字来命名视图。如果使用保留关键字,请在视图查询中使用双引号将保留关键字括起来。请参阅 转义查询中的保留关键字

  • 您不能将 Athena 中创建的视图与外部 Hive 元存储或 UDF 结合使用。有关使用在 Hive 外部创建的视图的信息,请参阅 使用 Hive 视图

  • 您不能将视图与地理空间函数结合使用。

  • 您无法使用视图管理 Amazon S3 中数据的访问控制。要查询视图,您需要相应权限才能访问存储在 Amazon S3 中的数据。有关更多信息,请参阅 控制从 Athena 对 Amazon S3 的访问

  • 虽然 Athena 引擎版本 3 支持跨账户查询视图,但无法创建包含跨账户 Amazon Glue Data Catalog 的视图。有关访问跨账户数据目录的信息,请参阅 配置 Amazon Glue 数据目录的跨账户存取

  • Athena 视图不支持 Hive 或 Iceberg 隐藏的元数据列 $bucket$file_modified_time$file_size$partition。有关在 Athena 中使用 $path 元数据列的信息,请参阅 获取 Amazon S3 中源数据的文件位置