HIve的初步認識(一 )

2021-08-29 07:12:13 字數 1056 閱讀 6537

mapreduce中用於統計分析的資料大部分都是結構化的資料,如果資料量比較小的時候,直接使用mysql,當資料量大的時候,

針對這個結構化的資料的統計分析,sql更為方便,mapreduce的統計分析針對結構化資料的,絕大部分都可以使用sql語句做,比mapreduce開發成本低。出現了乙個基於mr程式設計的,使用sql實現的工具,hive.

1)hive由facebook實現並開源,

2)是基於hadoop的乙個資料倉儲工具

3)可以將結構化的資料對映為一張資料庫表

4)並提供 hql(hive sql)查詢功能

5)底層資料是儲存在hdfs上

6)hive的本質是將sql語句轉換為mapreduce任務執行

7)使不熟悉mapreduce的使用者很方便地利用hql處理和計算hdfs上的結構化資料

8)適用於離線批量計算 。

1)使用者介面層:

2)thrift server層:跨語言操作

對外提供 hive支援跨語言連線的服務

3)元資料層:

hive的資料儲存的兩大部分:

1、原始資料,真實資料儲存在hdfs上的

2、元資料,描述原始資料的資料,描述的是原始資料的儲存規則的資料。hive的元資料存在關係型資料庫中(mysql)

①表的描述資訊:包括表和hdfs的資料對應關係,表的屬性

②表的字段資訊:字段型別、字段順序

③資料庫的描述資訊

4)核心驅動層:

驅動器driver:驅動hql轉化為mapreduce到提交的整個過程的執行

編譯器:內部儲存了很多map和reduce的模板,將hql語句編譯為mapreduce任務

優化器:將編譯器的編譯結果做乙個優化,最終出現的就是最完美的執行方案

執行器:將優化器的優化結果,進行提交給集群進行執行

1)不支援update、delete操作,支援insert操作,但效率很低

2)查詢延時性高

3)不支援事務

初學HIVE(一) 初步認識HIVE

hive是基於hadoop的資料倉儲工具,可以將結構化的資料檔案對映為一張表,並提供類sql查詢功能。本質是將hql轉化成mapreduce程式,儲存的基礎資料在hdfs上,執行程式執行在yarn上。hive 在查詢資料的時候,由於沒有索引,需要掃瞄整個表,因此延遲較高。還有乙個原因是mapredu...

Hadoop 初步認識Hive

一 hive是什麼?二 hive和常用資料庫的區別 hive基於hadoop,hadoop是批處理系統,不能保證低延遲,因此,hive的查詢也不能保證低延遲。hive的工作模式是提交乙個任務,等到任務結束時被通知,而不是實時查詢。相對應的是,類似於oracle這樣的系統當執行於小資料集的時候,響應非...

hive的初步認識(二)

管理資料,不同模組的資料最好放在不同的資料庫中,同mysql中的資料庫的概念 內部表 管理表 managed table 表的建立,表的資料的刪除,都是由hive自己決定的,同mysql中的表。內部表在進行刪除的時候,元資料和原始資料都會被刪除 外部表 external table 和內部表對立面,...