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.