hive的數據模型

  • 視圖(View)
  1. 視圖是一種虛表,是一個邏輯概念;能夠跨越多張表。
  2. 視圖在創建在已有表的基礎上,視圖以創建的這些表爲基表。
  3. 視圖能夠簡化複雜的查詢。

    eg. create view empinfo as select * from emp e,dept d where e.deptno= d.deptno; 數據庫

        select * from empinfo;
spa


  • 桶表(Bucket Table)
  1. 桶表是對數據進行哈希取值,而後放到不一樣文件中存儲

    create table bucket_table(sid int,sname string,age int) clustered by (sname) into 5 buckets; 索引


  • 外部表(External Table)
  1. 指向已經在HDFS中存在的數據,能夠建立Partition;
  2. 它和內部表在元數據的組織上是相同的,而實際數據的存儲有較大的差別;
  3. 外部表只有一個過程,加載數據和建立表同時完成,並不會移動到數據倉庫中,只是與外部數據創建一個連接。當刪除一個外部表,僅刪除該連接。


  • 內部表
  1. 與數據庫中的Table在概念上是相似;
  2. 每個Table在Hive中都有一個相應的目錄存儲數據;
  3. 全部的Table 數據(不包括 External Table)都保存在這個目錄中;
  4. 刪除表時,元數據與數據都會被刪除;
  • 分區表(Parttion)
  1. Partition 對應於數據庫的Parttion列的密集索引
  2. 在Hive中 ,表中的一個Parttion對應於表下的一個目錄,全部的Parttion的數據都存儲在對應的目錄中。
相關文章
相關標籤/搜索