CREATE VIEW y CREATE DIALECT VIEW - Amazon Athena

CREATE VIEW y CREATE DIALECT VIEW

Una vista es una tabla lógica a la que se puede hacer referencia en futuras consultas. Las vistas no contienen datos ni escriben datos. En su lugar, la consulta especificada por la vista se ejecuta cada vez que se hace referencia a la vista en otra consulta.

  • CREATE VIEW crea una vista de Athena a partir de una consulta SELECT especificada. Las vistas de Athena funcionan en Athena. Para más información acerca de las vistas de Athena, consulte Trabajo con vistas.

  • CREATE PROTECTED MULTI DIALECT VIEW crea una vista de AWS Glue Data Catalog en el AWS Glue Data Catalog. Las vistas del AWS Glue Data Catalog proporcionan una única vista común entre los Servicios de AWS como Amazon Athena y Amazon Redshift. Para obtener más información acerca de las vistas del AWS Glue Data Catalog, consulte Uso de vistas del Catálogo de datos en Athena.

CREATE VIEW

Crea una vista para usarla en Athena.

Sinopsis

CREATE [ OR REPLACE ] VIEW view_name AS query

La cláusula opcional OR REPLACE le permite actualizar la vista existente sustituyéndola. Para obtener más información, consulte Creación de vistas.

Ejemplos

Para crear una vista test a partir de la tabla orders, utilice una consulta similar a la siguiente:

CREATE VIEW test AS SELECT orderkey, orderstatus, totalprice / 2 AS half FROM orders;

Para crear una vista orders_by_date a partir de la tabla orders, utilice la siguiente consulta:

CREATE VIEW orders_by_date AS SELECT orderdate, sum(totalprice) AS price FROM orders GROUP BY orderdate;

Para actualizar una vista existente, utilice un ejemplo similar al siguiente:

CREATE OR REPLACE VIEW test AS SELECT orderkey, orderstatus, totalprice / 4 AS quarter FROM orders;

Para obtener más información acerca del uso de vistas de Athena, consulte Trabajo con vistas.

CREATE PROTECTED MULTI DIALECT VIEW

Crea una vista del AWS Glue Data Catalog en el AWS Glue Data Catalog. Una vista del Catálogo de datos es un esquema de vista única que funciona en Athena y otros motores SQL, como Amazon Redshift y Amazon EMR.

Sintaxis

CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW view_name SECURITY DEFINER [ SHOW VIEW JSON ] AS query
OR REPLACE

(Opcional) Sustituye la vista existente para actualizarla. No se puede reemplazar una vista del catálogo de datos si en la vista hay dialectos SQL de otros motores. Si el motor de llamada tiene el único dialecto SQL presente en la vista, la vista se puede reemplazar.

PROTECTED

Palabra clave necesaria. Especifica que la vista está protegida contra las filtraciones de datos. Las vistas de catálogo de datos solo se pueden crear como una vista PROTECTED.

MULTI DIALECT

Especifica que la vista admite los dialectos SQL de diferentes motores de consulta y, por lo tanto, esos motores pueden leerla.

SECURITY DEFINER

Especifica que la semántica del definidor está vigente en esta vista. La semántica de los definidores significa que los permisos de lectura en vigencia de las tablas subyacentes pertenecen a la entidad principal o al rol que definió la vista y no a la entidad principal que realiza la lectura real.

SHOW VIEW JSON

(Opcional) Devuelve el archivo JSON de la especificación de la vista del Catálogo de datos sin crear una vista. Esta opción de “ejecución de práctica” es útil cuando se desea validar el SQL de la vista y devolver los metadatos de la tabla que utilizará AWS Glue.

Ejemplo

En el siguiente ejemplo se crea la vista del catálogo de datos de orders_by_date en función de una consulta de la tabla orders.

CREATE PROTECTED MULTI DIALECT VIEW orders_by_date SECURITY DEFINER AS SELECT orderdate, sum(totalprice) AS price FROM orders WHERE order_city = 'SEATTLE' GROUP BY orderdate

Para más información acerca de cómo usar las vistas del AWS Glue Data Catalog, consulte Uso de vistas del Catálogo de datos en Athena.