Hive的儲存結構學習

2021-07-11 11:37:48 字數 739 閱讀 6024

在實際進行大資料分析時,由於某些時候需要即席查詢,對效能要求很高。此時有多種方案可選,比如採用spark,impala,phoenix,tez等都是可以選擇。但在底層的資料儲存結構上,一般都是借助於hive的資料儲存結構。因此需要學習下hive本身的資料是如何儲存的。

hive中的基本概念有table,extenal table,parition,bucket等。其中最關鍵的是table和partition.

hive中的table和關係型資料庫中的table概念類似,都有表名,欄位名和字段型別的屬性。

partition的概念則不同於關係型資料庫中的索引。partition在hive中表現為table下面的子目錄樹。partition的列,並不儲存在table中,而是偽列,即原始資料中並沒有partition的列。

partition既可以是static的,也可以是dynamic的。static是指分割槽預先建立好,dynamic則指分割槽動態建立。在實際使用中,由於源資料並不確定,因此更為靈活的方式是使用dynamic來建立分割槽。

為提高效率,一般使用load data或者load local data來載入資料,此時是將檔案直接copy到對應的partition下面。

partition,有點類似於多級索引,顯然可以大大提公升查詢的效率,因為使用partition後,查詢可以直接在小範圍內進行。

對於有儲存時間要求的系統,如果按照日期進行partition,對於維護就比較簡單,可以直接刪除過期的分割槽即可。刪除分割槽後,元資料和分割槽資料會一併刪除。

儲存器的層次結構學習記錄

重要知識點 三種常見的儲存技術 ram,rom,磁碟。隨機訪問儲存器 ram 非易失性儲存器 rom ram斷電會丟失它們的資訊,所以它們是易失的,而rom即使斷電後也仍然儲存著它們的資訊。由於歷史原因,雖然rom中有的型別即可以讀也可以寫,但是它們整體上都稱為唯讀儲存器。rom是以它們能夠被重程式...

資料結構學習筆記 樹的儲存

用陣列來儲存二叉樹,必須用完全二叉樹的形式來實現。滿二叉樹是完全二叉樹的乙個特例。完全二叉樹下面乙個都不刪是滿二叉樹。二叉樹的儲存 連續儲存 完全二叉樹 二叉樹是非線性的,陣列是線性的 記憶體也是線性的 要將非線性的結構存入線性的陣列。缺點 浪費空間。優點 用完全二叉樹。若知道結點的個數 樹的度 就...

結構學習 介紹

所謂的結構學習就是輸入或者輸出是有結構的資料,比如說語句 列表 樹和識別時的邊界框 bounding box 而在之前的學習之中,輸入和輸出都是向量。在結構學習中,我們需要學習的是乙個函式 f 如下圖所示,它的輸入是一種形式,而輸出是另一種形式。主要的應用方向如下 結構學習具有乙個統一的框架,可以表...