Data Catalog views considerations and limitations
In Amazon Glue Data Catalog, a view is a virtual table in which the contents are defined by a query that references one or more tables. You can create a view that references up to 10 tables using SQL editors for Amazon Athena or Amazon Redshift. Underlying reference tables for a view can belong to the same database or different databases within the same Amazon Web Services account.
The following considerations and limitations apply to Data Catalog views.
You cannot create a view from the Lake Formation console. You can create views using the Amazon CLI or SDK.
You can create Data Catalog views on tables registered with Lake Formation in both hybrid access mode and Lake Formation mode.
When using Data Catalog views with Lake Formation hybrid access mode, it is recommended to ensure that the view consuming principals are opted in to Lake Formation permissions for the base tables referenced in the view without granting access. This ensures that the base tables will not be revealed to consumers through Amazon Glue IAM permissions.
There are no restrictions on the cross-account sharing version to share views.
Views get versioned just like Data Catalog tables, when you use the
ALTER VIEW
statement for an already created view dialect. You cannot roll back to a previous view because the view version changes with the underlying data changes. You can delete a view version and it will default to the next available latest version. When you change the view version, make sure your data is in sync with the selected view version schema.No new Data Catalog APIs are introduced. The existing
CreateTable
,UpdateTable
,DeleteTable
andGetTable
APIs are updated.Amazon Redshift always creates views with varchar columns from tables with strings. You must cast string columns to varchar with an explicit length when adding dialects from other engines.
-
Granting data lake permissions to
All tables
within a database will result in the grantee having permissions on all tables and views within the database. You can't create views:
That reference other views.
When the reference table is a resource link.
When the reference table is in another account.
From external Hive metastores.