Creación de vistas del AWS Glue Data Catalog - AWS Lake Formation

Creación de vistas del AWS Glue Data Catalog

En AWS Glue Data Catalog, una vista es una tabla virtual cuyo contenido se define mediante una consulta SQL que hace referencia a una o más tablas. Puede crear una vista del Catálogo de datos que haga referencia a un máximo de 10 tablas mediante editores de SQL para Amazon Athena o Amazon Redshift. Las tablas de referencia subyacentes de una vista pueden pertenecer a la misma base de datos o a bases de datos distintas dentro del Catálogo de datos de una misma Cuenta de AWS.

Puede hacer referencia a tablas de AWS Glue estándar y tablas en formatos de tabla abierta (OTF), como Apache Hudi, Linux Foundation Delta Lake y Apache Iceberg, con los datos subyacentes almacenados en ubicaciones de Amazon S3 registradas en AWS Lake Formation. Además, puede crear vistas a partir de tablas federadas desde recursos compartidos de datos de Amazon Redshift que se compartan con Lake Formation.

Diferenciación de las vistas del Catálogo de datos de otros tipos de vistas

Las vistas del Catálogo de datos difieren de las vistas de Apache Hive, Apache Spark y Amazon Athena. La vista del Catálogo de datos es una característica nativa del AWS Glue Data Catalog creada por un definidor multidialectal. Puede crear una vista del Catálogo de datos utilizando uno de los servicios de análisis compatibles, como Athena o Amazon Redshift Spectrum, y acceder a la misma vista mediante otros servicios de análisis compatibles. Por otro lado, las vistas Apache Hive, Apache Spark y Athena se crean de forma independiente en cada servicio de análisis, como Athena y Amazon Redshift, y solo están visibles y accesibles dentro de dicho servicio.

¿Qué es una vista de definidor?

Una vista de definidor es una vista SQL que opera en función de los permisos de la entidad principal que la creó. El rol de definidor tiene los permisos necesarios para obtener acceso a las tablas a las que se hace referencia y ejecuta la instrucción SQL que define la vista. El definidor crea la vista y la comparte con otros usuarios mediante el control de acceso detallado de AWS Lake Formation.

Cuando un usuario consulta la vista de definidor, el motor de consultas utiliza los permisos del rol de definidor para acceder a las tablas de referencia subyacentes. Este enfoque permite a los usuarios interactuar con la vista sin necesidad de acceder directamente a las tablas de origen, lo que mejora la seguridad y simplifica la administración del acceso a los datos.

Para configurar una vista de definidor, el definidor debe ser un rol de IAM dentro de la misma cuenta de AWS que aloja la vista en su Catálogo de datos. Para obtener más información sobre los permisos necesarios para el rol de definidor, consulte Requisitos previos para crear vistas.

Un marco para vistas multidialectales

El Catálogo de datos admite la creación de vistas utilizando varios dialectos de lenguaje de consultas estructurado (SQL). SQL es un lenguaje que se utiliza para almacenar y procesar información en una base de datos relacional, y cada motor de análisis de AWS utiliza su propia variante o dialecto SQL.

Puede crear una vista del Catálogo de datos en un dialecto SQL mediante uno de los motores de consulta de análisis compatibles. A continuación, puede actualizar la vista utilizando la instrucción ALTER VIEW en un dialecto SQL diferente en cualquier otro motor de análisis compatible. Sin embargo, cada dialecto debe hacer referencia al mismo conjunto de tablas, columnas y tipos de datos.

Puede acceder a los distintos dialectos disponibles para la vista mediante la API GetTable, AWS CLI y la consola de AWS. Por lo tanto, la vista del Catálogo de datos está visible y disponible para realizar consultas en los diferentes motores de análisis compatibles.

Al definir un esquema de vista y un objeto de metadatos comunes que puede consultar desde varios motores, las vistas del catálogo de datos le permiten utilizar vistas uniformes de todo el lago de datos.

Para obtener más información sobre cómo se resuelve el esquema para cada dialecto, consulte el enlace a la referencia de la API. Para obtener más información sobre las reglas de coincidencia para los distintos tipos, consulte el enlace a la sección correspondiente del documento de la API.

Integración con permisos de Lake Formation

Puede usar AWS Lake Formation para centralizar la administración de permisos en las vistas del AWS Glue Data Catalog de los usuarios. Puede conceder permisos detallados en las vistas del Catálogo de datos utilizando el método de recurso con nombre o etiquetas LF y luego compartirlos en Cuentas de AWS, organizaciones de AWS y unidades organizativas. También puede compartir y obtener acceso a las vistas del Catálogo de datos en diferentes Regiones de AWS mediante enlaces de recursos. Esto permite a los usuarios proporcionar acceso a los datos sin duplicar el origen de datos y compartiendo las tablas subyacentes.

La instrucción DDL CREATE VIEW de una vista del Catálogo de datos puede hacer referencia a tablas estándar de AWS Glue y tablas en formatos de tabla abierta (OTF), como Hudi, Delta Lake e Iceberg, con datos subyacentes almacenados en ubicaciones de Amazon S3 registradas en Lake Formation, así como a las tablas federadas del recurso compartido de datos de Amazon Redshift que se comparten con Lake Formation. Las tablas pueden tener cualquier formato de archivo siempre que el motor utilizado para consultar la vista admita dicho formato. También puede hacer referencia a funciones integradas del motor en el que se ejecuta, aunque es posible que no se permitan otros recursos específicos del motor. Para obtener más información, consulte Vistas, consideraciones y limitaciones del catálogo de datos.

Casos de uso

A continuación se detallan los casos de uso importantes de las vistas del Catálogo de datos:

  • Crear y administrar permisos en un esquema de vista única. Esto le ayuda a evitar el riesgo de que se existan permisos incoherentes en vistas duplicadas creadas en varios motores.

  • Conceda permisos a los usuarios en una vista que haga referencia a varias tablas sin conceder permisos directamente en las tablas de referencia subyacentes.

  • Para filtrar las tablas a nivel de fila, utilice etiquetas LF (donde las etiquetas LF se apliquen en cascada solo en la columna) aplicando etiquetas LF en las vistas y concediendo a los usuarios permisos basados en etiquetas LF.

Servicios de análisis de AWS admitidos para crear vistas

Los siguientes servicios de análisis de AWS admiten la creación de vistas del Catálogo de datos:

  • Amazon Redshift

  • Amazon Athena versión 3

Recursos adicionales

Puede obtener más información sobre el Catálogo de datos en esta guía del usuario, así como en los siguientes recursos:

En el siguiente vídeo se muestra cómo crear vistas y consultarlas desde Athena y Amazon Redshift.