Trabalhar com visualizações
Uma visualização no Amazon Athena é uma tabela lógica, não física. A consulta que define uma exibição é executada sempre que a exibição é referenciada em uma consulta. Você pode criar uma exibição a partir de uma consulta SELECT
e, em seguida, fazer referência a essa exibição em futuras consultas.
É possível usar dois tipos diferentes de visualizações no Athena: visualizações do Athena e visualizações do AWS Glue Data Catalog.
Quando usar as visualizações do Athena?
Talvez você queira criar visualizações do Athena para:
-
Consultar um subconjunto de dados: por exemplo, é possível criar uma visualização com um subconjunto de colunas com base na tabela original para simplificar a consulta de dados.
-
Combinar tabelas: é possível usar exibições para combinar várias tabelas em uma consulta. Se você tem várias tabelas e deseja combiná-las com
UNION ALL
, é possível criar uma visualização com essa expressão para simplificar consultas em tabelas combinadas. -
Ocultar a complexidade: use as visualizações para ocultar a complexidade de consultas básicas existentes e simplificar as consultas executadas pelos usuários. As consultas básicas geralmente incluem junções entre tabelas, expressões na lista de colunas e outra sintaxe de SQL que dificultam o entendimento e a depuração delas. Você pode criar uma exibição que oculta a complexidade e simplifica consultas.
-
Otimizar consultas: é possível usar visualizações para experimentar técnicas de otimização para criar consultas otimizadas. Por exemplo, se você encontrar uma combinação de condições
WHERE
, ordemJOIN
ou outras expressões que demonstram a melhor performance, você poderá criar uma exibição com essas cláusulas e expressões. Os aplicativos podem realizar consultas relativamente simples contra essa exibição. Posteriormente, se você encontrar uma melhor maneira de otimizar a consulta original, quando você recriar a exibição, todos os aplicativos aproveitam imediatamente a consulta básica otimizada. -
Ocultar nomes subjacentes: é possível usar visualizações para ocultar nomes de tabelas e colunas subjacentes e minimizar os problemas de manutenção se esses nomes forem alterados. Se os nomes forem alterados, é possível simplesmente recriar a exibição usando os novos nomes. As consultas que usam a visualização em vez das tabelas continuarão em execução sem alterações.
Para ter mais informações, consulte Trabalhar com visualizações do Athena.
Quando usar as visualizações do AWS Glue Data Catalog?
Use as visualizações do AWS Glue Data Catalog quando desejar uma perspectiva única e comum entre os Serviços da AWS, como o Amazon Athena e o Amazon Redshift. Nas visualizações do Catálogo de Dados, as permissões de acesso são definidas pelo usuário que criou a visualização, e não pelo usuário que consulta a visualização. Esse método de concessão de permissões é chamado de semântica do programador.
Os casos de uso apresentados a seguir mostram como é possível usar as visualizações do Catálogo de Dados.
-
Maior controle de acesso: você cria uma visualização que restringe o acesso aos dados com base no nível de permissões requeridas pelo usuário. Por exemplo, é possível usar as visualizações do Catálogo de Dados para evitar que colaboradores que não trabalham no departamento de recursos humanos (RH) vejam informações de identificação pessoal.
-
Garantia de registros completos: ao aplicar determinados filtros na visualização do Catálogo de Dados, você garante que os registros de dados em uma visualização do Catálogo de Dados estejam sempre completos.
-
Segurança aprimorada: nas visualizações do Catálogo de Dados, a definição de consulta que cria a visualização deve estar intacta para que a visualização seja criada. Isso torna as visualizações do Catálogo de Dados menos suscetíveis a comandos SQL de agentes mal-intencionados.
-
Prevenção do acesso às tabelas subjacentes: a semântica do programador permite que os usuários acessem uma visualização sem disponibilizar a tabela subjacente para eles. Somente o usuário que define a visualização necessita de acesso às tabelas.
As definições de visualização do Catálogo de Dados são armazenadas no AWS Glue Data Catalog. Isso significa que você pode usar o AWS Lake Formation para conceder acesso usando concessões de recursos, concessões de colunas ou controles de acesso baseados em etiquetas. Para obter mais informações sobre como conceder e revogar acesso no Lake Formation, consulte Granting and revoking permissions on Data Catalog resources no Guia do desenvolvedor do AWS Lake Formation.
Para ter mais informações, consulte Usar visualizações do Catálogo de Dados no Athena.