天天看點

hive簡介以及優缺點

簡介

Hive:由Facebook開源用于解決海量結構化日志的資料統計。

Hive是管理,讀和寫資料的工具.

說簡單了就是用SQL分析資料.

Hive隻能處理結構化資料,處理hadoop裡面的資料,你在HDFS上傳的資料有很多,比如說軟體,視訊啥的.隻要是檔案都能上傳到HDFS上面去.但是Hive隻能分析結構化的資料,Hive是坐落在hadoop之上的(使用hive前提是必須要安裝了hadoop),用來分析大資料的,可以讓你的查詢和分析更簡單.

1.hive處理的資料都在hdfa中,但是hive還會存儲一個schema(中繼資料,就是表結構)在資料庫裡面.

2.hive是基于線上分析處理,主要為了實作分析功能,分析功能特點是不在乎程式運作時間的,隻在乎給大型資料的結果分析出來就行了.

3.hive提供了類似sql的語言,和sql文法還是有點差別的,這個語言主要是用來查詢的,叫做hiveql 或者是hql.

不是所有的資料都能被hive分析

hive隻能分析結構化資料

hive不是關系型資料庫

雖然也是用sql操作hive,關系型資料庫特點是基于oltp設計(線上事務處理),關系型資料庫最大優勢是事務.hive主要是分析資料,而不是生産資料.是以hive隻有查詢操作,沒有寫操作.

hive不是語言

hive不能做到關系型資料庫的毫秒級查詢,查詢速度還是挺慢的.主要是用來處理大資料的,程式設計模型是MapReduce. MapReduce本來就很慢,是以無法做到實時的.

無法做到行級别的更新

行級别的更新是 hive已經存儲在hdfs上面了,hdfs不支援随機寫,相當于無法随機的更新某一行的内容,也無法随機的删除某一行的内容,因為更新和删除都屬于随機寫.

hive隻支援查詢和插入,插入是追加寫,不是随機寫.

本質

本地是将hql語句轉化成MapReduce程式.

運作

hive運作程式是在yarn上面.

hive由來

起初hive是 Facebook設計的,然後之後Apache采納了hive,并且接着開發,開源.後來起名叫Apache hive .

優缺點

1.優點

2.缺點

繼續閱讀