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 中源数据的文件位置 。