Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del 1 de noviembre de 2025. Si desea utilizar las UDF de Python, créelas antes de esa fecha. Las UDF de Python existentes seguirán funcionando con normalidad. Para obtener más información, consulte la publicación del blog
Vistas de AWS Glue Data Catalog
En este tema se describe cómo crear vistas en AWS Glue Data Catalog. Puede usar las vistas del catálogo de datos para acceder a los datos de diferentes orígenes de datos mediante el mismo esquema.
Al crear vistas en el catálogo de datos, puede crear un único objeto de metadatos y esquema de vista común para usarlo en motores como Amazon Athena y Amazon EMR Spark. De este modo, podrá utilizar las mismas vistas en todos sus lagos y almacenamientos de datos según sus casos prácticos. Las vistas del catálogo de datos son especiales porque se categorizan como vistas de definidor, donde los permisos de acceso los define el usuario que creó la vista y no el usuario que consulta la vista. A continuación se muestran algunos casos prácticos y ventajas de crear vistas en el catálogo de datos:
-
Cree una vista que restrinja el acceso a los datos en función de los permisos que necesite el usuario. Por ejemplo, puede usar las vistas del catálogo de datos para evitar que el personal que no trabaje en el departamento de Recursos Humanos (RR.HH.) vea información de identificación personal (PII).
-
Asegúrese de que los usuarios no puedan acceder a registros incompletos. Al aplicar determinados filtros a la vista del catálogo de datos, se asegura de que los registros de datos de una vista del catálogo de datos estén siempre completos.
-
Las vistas del catálogo de datos incluyen la ventaja de seguridad, ya que garantizan que la definición de consulta utilizada para crear la vista deba completarse para poder crearla. Esta ventaja de seguridad significa que las vistas del catálogo de datos no son susceptibles a los comandos SQL de actores malintencionados.
-
Las vistas del catálogo de datos ofrecen las mismas ventajas que las vistas normales, como permitir a los usuarios acceder a una vista sin poner a su disposición la tabla subyacente.
Para crear una vista en el catálogo de datos, debe tener una tabla externa de Spectrum, un objeto incluido en un recurso compartido de datos administrado por Lake Formation o una tabla de Apache Iceberg.
Las definiciones de las vistas del catálogo de datos se almacenan en el AWS Glue Data Catalog. Use AWS Lake Formation para conceder el acceso mediante concesiones de recursos, concesiones de columnas o controles de acceso basados en etiquetas. Para obtener más información sobre cómo conceder y revocar el acceso a Lake Formation, consulte Concesión y revocación de permisos sobre los recursos del catálogo de datos.
Cuando usa Amazon Redshift para ejecutar una consulta que hace referencia a dichas vistas de AWS Glue Data Catalog, Amazon Redshift enmascara automáticamente los campos de determinadas columnas de tablas y vistas del sistema al registrar los metadatos sobre esa consulta. Para obtener más información, consulte Registro seguro en la Guía de administración de Amazon Redshift.
Requisitos previos
Antes de crear una vista en el catálogo de datos, asegúrese de que cumple los siguientes requisitos previos:
Asegúrese de que su rol de IAM tenga la siguiente política de confianza.
-
También necesita la siguiente política para transmitir roles.
Por último, también necesita los siguientes permisos.
Glue:GetDatabaseGlue:GetDatabasesGlue:CreateTableGlue:GetTableGlue:UpdateTableGlue:DeleteTableGlue:GetTablesGlue:SearchTablesGlue:BatchGetPartitionGlue:GetPartitionsGlue:GetPartitionGlue:GetTableVersionGlue:GetTableVersions
Ejemplo completo
Para empezar, cree un esquema externo basado en la base de datos del catálogo de datos.
CREATE EXTERNAL SCHEMA IF NOT EXISTS external_schema FROM DATA CATALOG DATABASE 'external_data_catalog_db' IAM_ROLE 'arn:aws:iam::123456789012:role/sample-role';
Ahora puede crear una vista de catálogo de datos.
CREATE EXTERNAL PROTECTED VIEW external_schema.remote_view AS SELECT * FROM external_schema.remote_table;
A continuación, puede empezar a realizar consultas a la vista.
SELECT * FROM external_schema.remote_view;
Para obtener más información sobre los comandos SQL relacionados con las vistas del catálogo de datos, consulte CREATE EXTERNAL VIEW, ALTER EXTERNAL VIEW y DROP EXTERNAL VIEW.
Consideraciones y limitaciones
A continuación se presentan las consideraciones y limitaciones que se aplican a las vistas creadas en el catálogo de datos.
Las vistas de AWS Glue Data Catalog solo se admiten en clústeres aprovisionados de RA3 o grupos de trabajo de Redshift sin servidor.
No puede crear una vista del catálogo de datos que se base en otra vista.
Solo puede disponer de 10 tablas básicas en una vista de catálogo de datos.
El definidor de la vista debe tener todos los permisos
SELECT GRANTABLEen las tablas básicas.Las vistas solo pueden contener objetos y elementos integrados de Lake Formation. Los siguientes objetos no están permitidos dentro de una vista.
Tablas del sistema
Funciones definidas por el usuario (UDF).
Tablas, vistas, vistas materializadas y vistas de enlace de tiempo de ejecución de Redshift que no comparten datos administrados en Lake Formation.
Las vistas no pueden contener tablas de Redshift Spectrum anidadas.
Las representaciones de AWS Glue de los objetos básicos de una vista deben estar en la misma Cuenta de AWS y región que la vista.