CREATE VIEW e CREATE DIALECT VIEW - Amazon Athena

CREATE VIEW e CREATE DIALECT VIEW

Uma visualização é uma tabela lógica que pode ser referenciada por futuras consultas. As visualizações não contêm todos os dados e não gravam dados. Em vez disso, a consulta especificada pela exibição é executada sempre que você fizer referência à exibição por outra consulta.

  • CREATE VIEW cria uma visualização do Athena a partir de uma consulta SELECT especificada. As visualizações do Athena funcionam dentro do Athena. Para obter mais informações sobre visualizações do Athena, consulte Trabalhar com visualizações.

  • CREATE PROTECTED MULTI DIALECT VIEW cria uma visualização do AWS Glue Data Catalog no AWS Glue Data Catalog. As visualizações do AWS Glue Data Catalog fornecem uma visualização única e comum entre os Serviços da AWS como o Amazon Athena e o Amazon Redshift. Para obter mais informações sobre visualizações do AWS Glue Data Catalog, consulte Usar visualizações do Catálogo de Dados no Athena.

CREATE VIEW

Cria uma visualização para uso no Athena.

Resumo

CREATE [ OR REPLACE ] VIEW view_name AS query

A cláusula OR REPLACE opcional permite atualizar a exibição existente substituindo-a Para ter mais informações, consulte Criar visualizações.

Exemplos

Para criar uma exibição test a partir da tabela orders, use uma consulta semelhante à seguinte:

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

Para criar uma exibição orders_by_date a partir da tabela orders, use a seguinte consulta:

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

Para atualizar uma exibição existente, use um exemplo semelhante ao seguinte:

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

Para obter mais informações sobre o uso de visualizações do Athena, consulte Trabalhar com visualizações.

CREATE PROTECTED MULTI DIALECT VIEW

Cria uma visualização do AWS Glue Data Catalog no AWS Glue Data Catalog. Uma visualização do Catálogo de Dados corresponde a um esquema de visualização única que funciona entre o Athena e outros mecanismos de SQL, como o Amazon Redshift e o Amazon EMR.

Sintaxe

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

(Opcional) Atualiza a visualização existente substituindo-a. Uma visualização do Catálogo de Dados não poderá ser substituída se dialetos SQL de outros mecanismos estiverem presentes na visualização. Se o mecanismo de chamada tiver o único dialeto SQL presente na visualização, a visualização poderá ser substituída.

PROTECTED

Palavra-chave obrigatória. Especifica que a visualização está protegida contra vazamentos de dados. As visualizações do Catálogo de Dados podem ser criadas somente como uma visualização PROTECTED.

MULTI DIALECT

Especifica que a visualização oferece suporte aos dialetos SQL de diferentes mecanismos de consulta e, portanto, que ela pode ser lida por esses mecanismos.

SECURITY DEFINER

Especifica que a semântica do programador está em vigor para essa visualização. A semântica do programador significa que as permissões de leitura efetivas nas tabelas subjacentes pertencem à entidade principal ou ao perfil que definiu a visualização, e não à entidade principal que executa a leitura.

SHOW VIEW JSON

(Opcional) Retorna o JSON para a especificação da visualização do Catálogo de Dados sem realmente criar uma visualização. Essa opção “dry-run” é útil quando você deseja validar o SQL para a visualização e retornar os metadados da tabela que serão usados pelo AWS Glue.

Exemplo

O exemplo apresentado a seguir cria a visualização orders_by_date do Catálogo de Dados com base em uma consulta na tabela 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 obter mais informações sobre o uso de visualizações do AWS Glue Data Catalog, consulte Usar visualizações do Catálogo de Dados no Athena.