hive基礎1 之理論

2021-08-26 20:22:20 字數 898 閱讀 5658

hive是同乙個sql解析引擎,目的是將sql轉義成mr,其本質就是mr。

hive本身不儲存資料!它的資料儲存在hdfs上,hive中有表定義,這個純邏輯表,定義表的元資料。本質就是hadoop的目錄/檔案達到了元資料與資料儲存分離的目的。

hive的內容是讀多寫少,不支援多少對資料的改寫和刪除。

hive的sql與標準資料庫的差別

hqlsql資料儲存

hdfs,hbase

local fs

資料格式

使用者自定義

系統決定

資料更新

不支援資料更新

支援索引

有(0.8之後有)有執行

mrexecutor

執行延遲高低

可擴充套件性

高(udf,udaf,udtf)

低資料規模

大(資料大於tb)

小資料檢查

讀時模式

寫時模式

通過上述的定義,我們基本可以梳理出引入hive的原因

1.對存在hdfs上的檔案我們要進行查詢處理的時候,需要手工寫一堆的mr**。但是引入hive後可以通過sql與轉譯成mr, 縮短了開發周期。

2.對於統計任務,只能有懂mr的程式設計師才能搞定。引入hive,只要會sql就可以搞定。

1.使用者介面:client,通過該介面進行sql互動

2.語句轉化:driver,是hive的核心,將使用者的查詢和mr task進行轉換並執行

3.資料儲存:實際儲存資料的時hdfs   ,元資料預設儲存在derby,但是一般用在mysql進行儲存

1.table:預設表,內部表

2.external table:外部表

3.partiton:使用者輔助查詢表

4.bucket:採用,控制reduce的個數

WorkFlow之理論篇

對於工作流我也多次接觸到,雖然不是主要負責工作流,自己也私下略知一二,下面對我這階段對工作流的學習做個總結 工作流尚沒有乙個統一的 明確的定義,不同的組織和研究人員對工作流給出了各自的定義 定義1 工作流是一類能夠完全或者部分自動執行的經營過程,它根據一系列過程規則,文件 資訊或任務能夠在不同的執行...

時間序列學習筆記之理論基礎(一)

我們可以將資料分為兩種維度來看,某個時間點的橫截面方向的資料和以時間為序列的資料。這個也很容易理解,因為隨著時間的推移,資料本身也會發生變化,如果我們只拿某一時刻的資料出來做分析,就是橫截面資料,我們最常接觸的眾多機器學習演算法實際上分析的都是這種資料,因為在其情景下,不需要時間這個特殊的維度。但是...

安卓廣播之理論篇

什麼叫廣播?比如 在 android 裡面有各種各樣的廣播,比如電池的使用狀態,的接收和簡訊的接收都會產生乙個廣播,應用程式開發者也可以監聽這些廣播並做出程式邏輯的處理 android廣播的分類 1 普通廣播 normal broadcasts 依次傳遞給各個處理器去處理 完全非同步的,可以在同一時...