Directorio de artículos
Vista y vista lateral de Hive
Vista de colmena
Que es una vista
1. Simplifique la estructura lógica de la consulta ocultando subconsultas, conexiones y funciones.
2. Tabla virtual, seleccione datos de la tabla real
3. Guarde solo la definición, no los datos
4. Si elimina o cambia la tabla subyacente, la vista de consulta fallará.
5. La vista es de solo lectura, no puede insertar ni cargar datos
Ventajas de las vistas
1. Proporcione columnas específicas a los usuarios para proteger la privacidad de los datos.
2. Escenarios con declaraciones de consulta complejas
Ver sintaxis
Ver comandos de operación: CREAR, MOSTRAR, SOLTAR, ALTERAR
CREATE VIEW view_name AS SELECT statement; -- 创建视图
-- 创建视图支持 CTE, ORDER BY, LIMIT, JOIN, etc.
SHOW TABLES; -- 查找视图 (SHOW VIEWS 在 hive v2.2.0之后)
SHOW CREATE TABLE view_name; -- 查看视图定义
DROP view_name; -- 删除视图
ALTER VIEW view_name SET TBLPROPERTIES ('comment' = 'This is a view');
--更改视图属性
ALTER VIEW view_name AS SELECT statement; -- 更改视图定义,
Vista lateral de la colmena
1. A menudo se utiliza en combinación con la función de generación de tablas para conectar la entrada y la salida de la función.
2. Palabra clave OUTER: los resultados se generarán incluso si la salida está vacía
select name,work_place,loc from employee lateral view outer explode(split(null,',')) a as loc;
3. Admite múltiples niveles
select name,wps,skill,score from employee
lateral view explode(work_place) work_place_single as wps
lateral view explode(skills_score) sks as skill,score;
4. Suele utilizarse para normalizar filas o analizar JSON.
para resumir
vista
El intento en Hive es solo un atajo a la declaración SQL
La vista en colmena es solo una vista lógica, no hay una vista materializada
La vista de Hive no admite la adición, eliminación, modificación, solo consulta
Vista de colmena, solo cuando la consulta se ejecuta realmente
Vista lateral
Las funciones de vista lateral y función UDTF se utilizan juntas. Cada fila de la tabla está conectada con cada fila de salida mediante la función UDTF para generar una nueva tabla virtual. Los nombres de campo se pueden establecer para los registros generados por UDTF. Los campos recién agregados pueden ser utilizado en En ordenar por, agrupar por y otras declaraciones, no es necesario establecer otra capa de subconsultas. La función de Vista lateral es ampliar los datos de la tabla original.