hive數據模型之視圖
視圖
視圖是用來簡化操作的,它其實是一張虛表,在視圖中不緩衝記錄,也沒有提高性能
測試:
create view view1
as
select dept.deptno,dept.dname,emp.ename
from emp,dept
where emp.deptno=dept.deptno;
物化視圖
(*)能夠緩存數據
(*)hive把物化視圖當成一張“表”
(*)將數據緩存到文件中:orc文件(是一個列式存儲文件)
create materialized view view2
as
select dept.deptno,dept.dname,emp.ename
from emp,dept
where emp.deptno=dept.deptno;
從最終的操作結果來看,視圖在創建視圖的是候僅僅是創建了輸入,只有在查詢的時候才翻譯成mapreduce程序,進行查詢數據,而物化視圖在創建表的時候就已經生成mapreduce程序,在查詢簡單查詢物化視圖數據的時候並沒有生成mapreduce程序
說明物化視圖在創建的時候已經導入了數據,同時也被當做文件寫入了hdfs