HCatalog - Ver

Este capítulo describe cómo crear y administrar un viewen HCatalog. Las vistas de la base de datos se crean utilizandoCREATE VIEWdeclaración. Las vistas se pueden crear a partir de una sola tabla, varias tablas u otra vista.

Para crear una vista, un usuario debe tener los privilegios del sistema adecuados según la implementación específica.

Crear declaración de vista

CREATE VIEWcrea una vista con el nombre de pila. Se produce un error si ya existe una tabla o vista con el mismo nombre. Puedes usarIF NOT EXISTS para omitir el error.

Si no se proporcionan nombres de columna, los nombres de las columnas de la vista se derivarán automáticamente de la defining SELECT expression.

Note - Si SELECT contiene expresiones escalares sin alias como x + y, los nombres de las columnas de la vista resultantes se generarán en la forma _C0, _C1, etc.

Al cambiar el nombre de las columnas, también se pueden proporcionar comentarios de columna. Los comentarios no se heredan automáticamente de las columnas subyacentes.

Una sentencia CREATE VIEW fallará si la vista defining SELECT expression es inválido.

Sintaxis

CREATE VIEW [IF NOT EXISTS] [db_name.]view_name [(column_name [COMMENT column_comment], ...) ]
[COMMENT view_comment]
[TBLPROPERTIES (property_name = property_value, ...)]
AS SELECT ...;

Ejemplo

Los siguientes son los datos de la tabla de empleados. Ahora veamos cómo crear una vista llamadaEmp_Deg_View que contiene los campos id, nombre, designación y salario de un empleado que tiene un salario superior a 35.000.

+------+-------------+--------+-------------------+-------+
|  ID  |    Name     | Salary |    Designation    | Dept  |
+------+-------------+--------+-------------------+-------+
| 1201 |    Gopal    | 45000  | Technical manager |  TP   |
| 1202 |   Manisha   | 45000  | Proofreader       |  PR   |
| 1203 | Masthanvali | 30000  | Technical writer  |  TP   |
| 1204 |    Kiran    | 40000  | Hr Admin          |  HR   |
| 1205 |   Kranthi   | 30000  | Op Admin          | Admin |
+------+-------------+--------+-------------------+-------+

El siguiente es el comando para crear una vista basada en los datos dados anteriormente.

./hcat –e "CREATE VIEW Emp_Deg_View (salary COMMENT ' salary more than 35,000')
   AS SELECT id, name, salary, designation FROM employee WHERE salary ≥ 35000;"

Salida

OK
Time taken: 5.3 seconds

Declaración de Drop View

DROP VIEW elimina los metadatos de la vista especificada. Al eliminar una vista a la que hacen referencia otras vistas, no se da ninguna advertencia (las vistas dependientes quedan colgando como no válidas y el usuario debe eliminarlas o recrearlas).

Sintaxis

DROP VIEW [IF EXISTS] view_name;

Ejemplo

El siguiente comando se usa para quitar una vista llamada Emp_Deg_View.

DROP VIEW Emp_Deg_View;