Impala - Criar Vista
Uma visualização nada mais é do que uma declaração da linguagem de consulta do Impala armazenada no banco de dados com um nome associado. É a composição de uma tabela na forma de uma consulta SQL predefinida.
Uma visão pode conter todas as linhas de uma tabela ou algumas selecionadas. Uma visão pode ser criada a partir de uma ou várias tabelas. As visualizações permitem que os usuários -
Estruture os dados de uma forma que os usuários ou classes de usuários considerem natural ou intuitiva.
Restrinja o acesso aos dados de forma que um usuário possa ver e (às vezes) modificar exatamente o que precisa e nada mais.
Resuma os dados de várias tabelas que podem ser usadas para gerar relatórios.
Você pode criar uma visualização usando o Create View declaração do Impala.
Sintaxe
A seguir está a sintaxe da instrução create view. IF NOT EXISTSé uma cláusula opcional. Se usarmos esta cláusula, uma tabela com o nome dado é criada, apenas se não houver nenhuma tabela existente no banco de dados especificado com o mesmo nome.
Create View IF NOT EXISTS view_name as Select statement
Exemplo
Por exemplo, suponha que temos uma tabela chamada customers no my_db banco de dados no Impala, com os seguintes dados.
ID NAME AGE ADDRESS SALARY
--- --------- ----- ----------- --------
1 Ramesh 32 Ahmedabad 20000
2 Khilan 25 Delhi 15000
3 Hardik 27 Bhopal 40000
4 Chaitali 25 Mumbai 35000
5 kaushik 23 Kota 30000
6 Komal 22 MP 32000
A seguir está um exemplo de Create View Statement. Neste exemplo, estamos criando uma visualização comocustomers tabela que contém as colunas, nome e idade.
[quickstart.cloudera:21000] > CREATE VIEW IF NOT EXISTS customers_view AS
select name, age from customers;
Ao executar a consulta acima, é criada uma visão com as colunas desejadas, exibindo a seguinte mensagem.
Query: create VIEW IF NOT EXISTS sample AS select * from customers
Fetched 0 row(s) in 0.33s
Verificação
Você pode verificar o conteúdo da visualização recém-criada, usando o select declaração conforme mostrado abaixo.
[quickstart.cloudera:21000] > select * from customers_view;
Isso produzirá o seguinte resultado.
Query: select * from customers_view
+----------+-----+
| name | age |
+----------+-----+
| Komal | 22 |
| Khilan | 25 |
| Ramesh | 32 |
| Hardik | 27 |
| Chaitali | 25 |
| kaushik | 23 |
+----------+-----+
Fetched 6 row(s) in 4.80s
Criação de uma vista usando matiz
Abra o editor de consultas Impala, selecione o contexto como my_db, e digite o Create View declaração nele e clique no botão executar conforme mostrado na imagem a seguir.
Depois de executar a consulta, se você rolar para baixo, pode ver o view nomeado sample criado na lista de tabelas conforme mostrado abaixo.