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 consultaSELECT
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 ] ASquery
- 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.