选择您的 Cookie 首选项

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

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

使用 DDL 语句创建数据目录视图

聚焦模式
使用 DDL 语句创建数据目录视图 - AWS Lake Formation

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

你可以使用适用于 Athena 的 SQL 编辑器、Amazon Redshift 和使用/来创建 AWS Glue Data Catalog 视图。 AWS Glue APIs AWS CLI

要使用 SQL 编辑器创建数据目录视图,请选择 Athena 或 Redshift Spectrum,然后使用 CREATE VIEW 数据定义语言(DDL)语句创建视图。使用第一个引擎的方言创建视图后,可以使用第二个引擎的 ALTER VIEW DDL 语句添加其它方言。

在定义视图时,必须考虑以下几点:

  • 定义多方言视图 - 定义具有多种方言的视图时,不同方言的架构必须匹配。每种 SQL 方言的语法规范略有不同。在所有方言中,定义数据目录视图的查询语法应解析为完全相同的列列表,包括类型和名称。这些信息存储在视图的 StorageDescriptor 中。方言还必须引用数据目录中相同的底层表对象。

    要使用 DDL 向视图添加另一种方言,可以使用 ALTER VIEW 语句。如果 ALTER VIEW 语句试图更新视图定义,如修改视图的存储描述符或底层表,该语句就会出错,提示“输入与现有存储描述符不匹配”。您可以使用 SQL 转换操作来确保视图列类型匹配。

  • 更新视图 - 要更新视图,可以使用 UpdateTable API。如果在不匹配存储描述符或引用表的情况下更新视图,则可以提供 FORCE 标志(语法参见引擎 SQL 文档)。强制更新后,视图将采用强制的 StorageDescriptor 和引用表。任何进一步的 ALTER VIEW DDL 都应与修改后的值相匹配。已更新为具有不兼容方言的视图将处于“过时”状态。视图状态在 Lake Formation 控制台中可见,可使用 GetTable 操作查看。

  • 以字符串形式引用 varchar 列类型 – 无法将 Redshift Spectrum 的 varchar 列类型转换为字符串。如果在 Redshift Spectrum 中创建了具有 varchar 列类型的视图,而后续方言尝试将该字段作为字符串引用,则数据目录会将其作为字符串处理,而无需使用 FORCE 标志。

  • 复杂类型字段的处理 – Amazon Redshift 将所有复杂类型都视为 SUPER 类型,而 Athena 则指定复杂类型。如果视图有一个 SUPER 类型字段,而另一个引擎将该列引用为特定的复杂类型,如 struct(<street_address:struct<street_number:int, street_name:string, street_type:string>>),那么数据目录会认为该字段是特定的复杂类型,并在存储描述符中使用该字段,而无需使用 Force 标志。

有关用于创建和管理数据目录视图的语法的更多信息,请参阅:

创建数据目录视图后,该视图的详细信息可在 Lake Formation 控制台中查看。

  1. 在 Lake Formation 控制台中选择“数据目录”下的视图

  2. 可用视图列表将显示在“视图”页面上。

  3. 从列表中选择一个视图,详细信息页面将显示该视图的属性。

下面的部分包含五个水平排列的选项卡,每个选项卡都包含相应的信息。
架构

选择 Column 行,然后选择编辑 LF 标签,以更新标签值或分配新的 LF 标签。

SQL 定义

您可以查看可用 SQL 定义的列表。选择添加 SQL 定义,然后选择要添加 SQL 定义的查询引擎。在 Edit definition 列下选择查询引擎(Athena 或 Amazon Redshift)以更新 SQL 定义。

LF 标签

选择编辑 LF 标签以编辑标签的值或分配新标签。您可以使用 LF 标签来授予对视图的权限。

跨账户访问

您可以看到与您共享数据目录视图的 AWS 账户组织和组织单位 (OUs) 的列表。

基础表

用于创建视图的 SQL 定义中引用的基础表显示在此选项卡下。

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