Impala - Crear vista
Una vista no es más que una declaración del lenguaje de consulta de Impala que se almacena en la base de datos con un nombre asociado. Es una composición de una tabla en forma de consulta SQL predefinida.
Una vista puede contener todas las filas de una tabla o las seleccionadas. Se puede crear una vista a partir de una o varias tablas. Las vistas permiten a los usuarios:
Estructurar los datos de una manera que los usuarios o clases de usuarios encuentren natural o intuitiva.
Restrinja el acceso a los datos de modo que un usuario pueda ver y (a veces) modificar exactamente lo que necesita y nada más.
Resuma datos de varias tablas que se pueden utilizar para generar informes.
Puede crear una vista usando el Create View declaración de Impala.
Sintaxis
A continuación se muestra la sintaxis de la declaración de creación de vista. IF NOT EXISTSes una cláusula opcional. Si usamos esta cláusula, se crea una tabla con el nombre dado, solo si no hay una tabla existente en la base de datos especificada con el mismo nombre.
Create View IF NOT EXISTS view_name as Select statement
Ejemplo
Por ejemplo, supongamos que tenemos una tabla llamada customers en el my_db base de datos en Impala, con los siguientes datos.
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 continuación se muestra un ejemplo de Create View Statement. En este ejemplo, estamos creando una vista comocustomers tabla que contiene las columnas, el nombre y la edad.
[quickstart.cloudera:21000] > CREATE VIEW IF NOT EXISTS customers_view AS
select name, age from customers;
Al ejecutar la consulta anterior, se crea una vista con las columnas deseadas, mostrando el siguiente mensaje.
Query: create VIEW IF NOT EXISTS sample AS select * from customers
Fetched 0 row(s) in 0.33s
Verificación
Puede verificar el contenido de la vista que acaba de crear, utilizando el select declaración como se muestra a continuación.
[quickstart.cloudera:21000] > select * from customers_view;
Esto producirá el siguiente 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
Creando una vista usando Hue
Abra el editor de consultas Impala, seleccione el contexto como my_dby escriba el Create View declaración en él y haga clic en el botón ejecutar como se muestra en la siguiente captura de pantalla.
Después de ejecutar la consulta, si se desplaza hacia abajo, puede ver la view llamado sample creado en la lista de tablas como se muestra a continuación.