Hive里的分區、分桶、視圖和索引再談


 

 

福利 => 每天都推送 

歡迎大家,關注微信掃碼並加入我的4個微信公眾號:   大數據躺過的坑      Java從入門到架構師      人工智能躺過的坑         Java全棧大聯盟
 
     每天都有大量的學習視頻資料和精彩技術文章推送... 人生不易,唯有努力。
 
     百家號 :九月哥快訊               快手號:  jiuyuege
 
 
 
 

   分桶是細粒度的,分桶是不同的文件

  分區是粗粒度的,即相當於,表下建立文件夾。分區是不同的文件夾

 

桶在對指定列進行哈希計算時,會根據哈希值切分數據,使每個桶對應一個文件。

  里面的id是哈希值,分過來的。

 

分桶,一般用作數據傾斜和數據抽樣方面。由此,可看出是細粒度。

 

 

  Hive 中創建分區表沒有什么復雜的分區類型(范圍分區、列表分區、hash 分區,混合分區等)。分區列也不是表中的一個實際的字段,而是一個或者多個偽列。意思是說,在表的數據文件中實際並不保存分區列的信息與數據。

 

 

 

注意:普通表(外部表、內部表)、分區表這三個都是對應HDFS上的目錄,桶表對應是目錄里的文件

 

 

 

 

 索引是為了提高查詢速度的,視圖是在查詢sql的基礎上的。 
 對一個表來說,視圖是橫向的,一般創建視圖查詢語句都要加條件的 
 
 
 索引是作用列上面的 
 
   拿索引來說,在某列上建立索引,得到的這個索引表,其實是原來的表而已。只是取了個新名字。
因為在建立了索引
包裝了一下 

 

   視圖是指計算機數據庫中的視圖,是一個虛擬表,即不是實實在在的,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在數據庫中以存儲的數據值集形式存在。行和列數據來自由定義視圖的查詢所引用的表,並且在引用視圖時動態生成。

   一般情況,是多表關聯查詢的時候,才用視圖 

   對一個表來說,視圖是橫向的,一般創建視圖查詢語句都要加條件的 
   索引是作用列上面的 

   索引是為了提高查詢速度的,視圖是在查詢sql的基礎上的。

   比如一個表很多字段,你查詢的時候,只是想取得其中一部分字段,並且包含一些特定條件的數據 ,這個時候最好用視圖。
 
 
 
 
 
 
 
 

理解MySQL——索引與優化

 

 

 

 

 

 

 

 

 

 

歡迎大家,加入我的4個微信公眾號:    大數據躺過的坑     Java從入門到架構師    人工智能躺過的坑     Java全棧大聯盟    
 
 
 

同時,大家可以關注我的個人博客

   http://www.cnblogs.com/zlslch/   和     http://www.cnblogs.com/lchzls/      http://www.cnblogs.com/sunnyDream/   

   詳情請見:http://www.cnblogs.com/zlslch/p/7473861.html

 

  人生苦短,我願分享。本公眾號將秉持活到老學到老學習無休止的交流分享開源精神,匯聚於互聯網和個人學習工作的精華干貨知識,一切來於互聯網,反饋回互聯網。
  目前研究領域:大數據、機器學習、深度學習、人工智能、數據挖掘、數據分析。 語言涉及:Java、Scala、Python、Shell、Linux等 。同時還涉及平常所使用的手機、電腦和互聯網上的使用技巧、問題和實用軟件。 只要你一直關注和呆在群里,每天必須有收獲

 

      對應本平台的討論和答疑QQ群:大數據和人工智能躺過的坑(總群)(161156071) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

     打開百度App,掃碼,精彩文章每天更新!歡迎關注我的百家號: 九月哥快訊

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM