本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
列级筛选的注释和限制
有三种方法可以指定列筛选:
-
通过如前所述使用数据筛选条件来实现。
-
通过使用简单的列筛选。
-
通过使用标签。
简单列筛选仅指定要包含或排除的列的列表。Lake Formation 控制台、API 和都Amazon CLI支持简单的列过滤。有关示例,请参阅 Grant with Simple Column Filtering。
以下注释和限制适用于列筛选:
-
Amazon GlueETL 作业仅支持使用数据筛选器进行列筛选(单元级安全性)。如果将简单的列筛选应用于作业引用的任何表,则作业将失败。如果您只需要列筛选,请使用数据筛选器授予
true
对表的访问权限,并在控制台中输入行筛选器表达式,或者AllRowsWildcard
在您的 API 调用中使用。 -
要
SELECT
使用授权选项和列筛选进行授权,必须使用包含列表而不是排除列表。如果没有授权选项,则可以使用包含或排除列表。 -
要
SELECT
对具有列筛选功能的表进行授权,必须使用授权选项SELECT
对表进行授权,并且没有任何行限制。您必须有权访问所有行。 -
如果您向
SELECT
账户中的委托人授予授权选项和列筛选,则该委托人在向另一位委托人授予权限时必须为相同的列或已授权列的子集指定列筛选。如果您向SELECT
外部账户授予授权选项和列筛选,则外部账户中的数据湖管理员可以向其账户中的其他委托人授予SELECT
所有列的权限。但是,即使SELECT
在所有列上,该委托人也只能在授予外部账户的列上可见。 -
您无法对分区键应用列筛选。
-
无法向拥有表中列子集
SELECT
权限的委托人授予该表的ALTER
DROP
DELETE
、、或INSERT
权限。对于对表具有ALTER
、DROP
DELETE
、或INSERT
权限的委托人,如果您通过列筛选授予SELECT
权限,则无效。