hive基本介紹以及效能優化

2021-07-04 22:05:19 字數 928 閱讀 5956

hive是建立在hadoop上的資料倉儲基礎架構。它提供了一系列的工具,可以用來進行資料提取轉化載入(etl),這是一種可以儲存、查詢和分析儲存在hadoop中大規模資料的機制。最大的有點就是定義了類sql語言,稱為hql。

1.1 結構描述

hive的結構可以分為以下幾部分:

1、使用者介面主要有三個:cli,client,wui。其中最常用的是cli,cli啟動的時候,會同時啟動乙個hive副本。client是hive的客戶端,使用者連線至hive server。在啟動client模式的時候,需要指出hive server所在節點,並且在改節點啟動hive server。wui是通過瀏覽器訪問hive。

2、hive 將元資料儲存在資料庫中,如 mysql、derby。hive 中的元資料報括表的名字,表的列和分割槽及其屬性,表的屬性(是否為外部表等),表的資料所在目錄等。

3、直譯器、編譯器、優化器完成 hql 查詢語句從詞法分析、語法分析、編譯、優化以及查詢計畫的生成。生成的查詢計畫儲存在 hdfs 中,並在隨後有 mapreduce 呼叫執行。

4、hive 的資料儲存在 hdfs 中,大部分的查詢由 mapreduce 完成

1.2 元資料

hive將元資料儲存在rdbms中,一般常用的有mysql和derby。由於後者只支援單客戶端登入,所以一般採用mysql來儲存元資料。

1.3 資料儲存

首先,hive 沒有專門的資料儲存格式,也沒有為資料建立索引,使用者可以非常自由的組織 hive 中的表,只需要在建立表的時候告訴 hive 資料中的列分隔符和行分隔符,hive 就可以解析資料。

其次,hive 中所有的資料都儲存在 hdfs 中,hive 中包含以下資料模型:table,external table,partition,bucket。

2.1 介紹

在hadoop的計算框架特性下回衍生哪些問題?

優化手段

hive效能優化

向量查詢 vectorized query 每次處理資料時會將1024行資料組成乙個batch進行處理,而不是一行一行進行處理,這樣能夠顯著提高執行速度。可以通過設定 error error while processing statement failed execution error,retu...

Hive語言的使用,以及效能優化

hive出現的原因 解決從乙個現有的資料基礎架構轉移到hadoop上,hive適合資料倉儲應用程式的,可以維護海量資料,而且可以對資料進行挖掘,形成報告。查詢hadoop集群中的資料 1 hive的查詢語言,用來查詢hadoop中的資料,hive是將大多數的查詢轉換為mapreduce任務 2 hi...

hive的效能優化

計算資料優化主要有兩種思路,一種是減少處理資料量 一種是解決資料傾斜。資料傾斜一般可以分為三種 join階段資料傾斜 reduce階段資料傾斜 主要有兩種方式 1.2 join階段資料傾斜 是最常見的資料傾斜,按照表的大小和join方式的不同分別有多種處理方式。1.2.1 mapjoin 作用 適用...