麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫 > 文庫 > 正文

hive函數(shù)簡介

2020-10-29 21:47:20
字體:
供稿:網(wǎng)友

首先我們要知道hive到底是做什么的。下面這幾段文字很好的描述了hive的特性: 

 1.hive是基于Hadoop的一個(gè)數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行。其優(yōu)點(diǎn)是學(xué)習(xí)成本低,可以通過類SQL語句快速實(shí)現(xiàn)簡單的MapReduce統(tǒng)計(jì),不必開發(fā)專門的MapReduce應(yīng)用,十分適合數(shù)據(jù)倉庫的統(tǒng)計(jì)分析。

  2.Hive是建立在 Hadoop 上的數(shù)據(jù)倉庫基礎(chǔ)構(gòu)架。它提供了一系列的工具,可以用來進(jìn)行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種可以存儲(chǔ)、查詢和分析存儲(chǔ)在 Hadoop 中的大規(guī)模數(shù)據(jù)的機(jī)制。Hive 定義了簡單的類 SQL 查詢語言,稱為 HQL,它允許熟悉 SQL 的用戶查詢數(shù)據(jù)。同時(shí),這個(gè)語言也允許熟悉 MapReduce 開發(fā)者的開發(fā)自定義的 mapper 和 reducer 來處理內(nèi)建的 mapper 和 reducer 無法完成的復(fù)雜的分析工作。

  要理解hive,必須先理解hadoop和mapreduce,如果有不熟悉的童鞋,可以百度一下。

  使用hive的命令行接口,感覺很像操作關(guān)系數(shù)據(jù)庫,但是hive和關(guān)系數(shù)據(jù)庫還是有很大的不同,下面我就比較下hive與關(guān)系數(shù)據(jù)庫的區(qū)別,具體如下:

1.hive和關(guān)系數(shù)據(jù)庫存儲(chǔ)文件的系統(tǒng)不同,hive使用的是hadoop的HDFS(hadoop的分布式文件系統(tǒng)),關(guān)系數(shù)據(jù)庫則是服務(wù)器本地的文件系統(tǒng);

2.hive使用的計(jì)算模型是mapreduce,而關(guān)系數(shù)據(jù)庫則是自己設(shè)計(jì)的計(jì)算模型;

3.關(guān)系數(shù)據(jù)庫都是為實(shí)時(shí)查詢的業(yè)務(wù)進(jìn)行設(shè)計(jì)的,而hive則是為海量數(shù)據(jù)做數(shù)據(jù)挖掘設(shè)計(jì)的,實(shí)時(shí)性很差;實(shí)時(shí)性的區(qū)別導(dǎo)致hive的應(yīng)用場景和關(guān)系數(shù)據(jù)庫有很大的不同;

4.Hive很容易擴(kuò)展自己的存儲(chǔ)能力和計(jì)算能力,這個(gè)是繼承hadoop的,而關(guān)系數(shù)據(jù)庫在這個(gè)方面要比數(shù)據(jù)庫差很多。

  以上都是從宏觀的角度比較hive和關(guān)系數(shù)據(jù)庫的區(qū)別,hive和關(guān)系數(shù)據(jù)庫的異同還有很多,我在文章的后面會(huì)一一描述。

  下面我來講講hive的技術(shù)架構(gòu),大家先看下面的架構(gòu)圖: 

  由上圖可知,hadoop和mapreduce是hive架構(gòu)的根基。Hive架構(gòu)包括如下組件:CLI(command line interface)、JDBC/ODBC、Thrift Server、WEB GUI、metastore和Driver(Complier、Optimizer和Executor),這些組件我可以分為兩大類:服務(wù)端組件和客戶端組件。

   首先講講服務(wù)端組件:

  Driver組件:該組件包括Complier、Optimizer和Executor,它的作用是將我們寫的HiveQL(類SQL)語句進(jìn)行解析、編譯優(yōu)化,生成執(zhí)行計(jì)劃,然后調(diào)用底層的mapreduce計(jì)算框架。

  Metastore組件:元數(shù)據(jù)服務(wù)組件,這個(gè)組件存儲(chǔ)hive的元數(shù)據(jù),hive的元數(shù)據(jù)存儲(chǔ)在關(guān)系數(shù)據(jù)庫里,hive支持的關(guān)系數(shù)據(jù)庫有derby、mysql。元數(shù)據(jù)對(duì)于hive十分重要,因此hive支持把metastore服務(wù)獨(dú)立出來,安裝到遠(yuǎn)程的服務(wù)器集群里,從而解耦hive服務(wù)和metastore服務(wù),保證hive運(yùn)行的健壯性,這個(gè)方面的知識(shí),我會(huì)在后面的metastore小節(jié)里做詳細(xì)的講解。

  Thrift服務(wù):thrift是facebook開發(fā)的一個(gè)軟件框架,它用來進(jìn)行可擴(kuò)展且跨語言的服務(wù)的開發(fā),hive集成了該服務(wù),能讓不同的編程語言調(diào)用hive的接口。

  客戶端組件:

  CLI:command line interface,命令行接口。

  Thrift客戶端:上面的架構(gòu)圖里沒有寫上Thrift客戶端,但是hive架構(gòu)的許多客戶端接口是建立在thrift客戶端之上,包括JDBC和ODBC接口。

  WEBGUI:hive客戶端提供了一種通過網(wǎng)頁的方式訪問hive所提供的服務(wù)。這個(gè)接口對(duì)應(yīng)hive的hwi組件(hive web interface),使用前要啟動(dòng)hwi服務(wù)。

  下面我著重講講metastore組件,具體如下:

  Hive的metastore組件是hive元數(shù)據(jù)集中存放地。Metastore組件包括兩個(gè)部分:metastore服務(wù)和后臺(tái)數(shù)據(jù)的存儲(chǔ)。后臺(tái)數(shù)據(jù)存儲(chǔ)的介質(zhì)就是關(guān)系數(shù)據(jù)庫,例如hive默認(rèn)的嵌入式磁盤數(shù)據(jù)庫derby,還有mysql數(shù)據(jù)庫。Metastore服務(wù)是建立在后臺(tái)數(shù)據(jù)存儲(chǔ)介質(zhì)之上,并且可以和hive服務(wù)進(jìn)行交互的服務(wù)組件,默認(rèn)情況下,metastore服務(wù)和hive服務(wù)是安裝在一起的,運(yùn)行在同一個(gè)進(jìn)程當(dāng)中。我也可以把metastore服務(wù)從hive服務(wù)里剝離出來,metastore獨(dú)立安裝在一個(gè)集群里,hive遠(yuǎn)程調(diào)用metastore服務(wù),這樣我們可以把元數(shù)據(jù)這一層放到防火墻之后,客戶端訪問hive服務(wù),就可以連接到元數(shù)據(jù)這一層,從而提供了更好的管理性和安全保障。使用遠(yuǎn)程的metastore服務(wù),可以讓metastore服務(wù)和hive服務(wù)運(yùn)行在不同的進(jìn)程里,這樣也保證了hive的穩(wěn)定性,提升了hive服務(wù)的效率。

  Hive的執(zhí)行流程如下圖所示:

圖描述的很清晰了,我這里就不在累述了。

下面我給大家展示一個(gè)簡單的例子,看看hive是怎么操作的。

首先我們創(chuàng)建一個(gè)普通的文本文件,里面只有一行數(shù)據(jù),該行也只存儲(chǔ)一個(gè)字符串,命令如下:

echo ‘sharpxiajun' > /home/hadoop/test.txt

然后我們建一張hive的表:

hive 

主站蜘蛛池模板:
久久国产精
|
免费欧美一级视频
|
一级大片一级一大片
|
亚洲片在线观看
|
高清做爰免费无遮网站挡
|
91久久国产综合久久91精品网站
|
国产色爱综合网
|
精品国产一二区
|
91短视频版高清在线观看免费
|
日本a级免费
|
毛片视频播放
|
久久精品成人免费国产片桃视频
|
欧美一级毛片美99毛片
|
性插视频
|
国产1区2|
欧美福利视频一区二区
|
成人三区四区
|
嫩草www|
国产一区二区在线免费播放
|
av影院在线播放
|
久久久久久久久日本理论电影
|
97黄色网
|
日日狠狠久久
|
免费在线观看成人av
|
free台湾极品性hd
|
亚洲最新黄色网址
|
毛片一区二区三区四区
|
欧美日韩电影
|
精品一区二区免费视频视频
|
美女视频免费一区二区
|
国产精品99久久久久久大便
|
看毛片电影
|
蜜桃视频日韩
|
国产一级免费电影
|
久久国产一二三
|
www亚洲免费
|
91丝袜|
久久精品一二三区白丝高潮
|
久久老司机
|
国产一级爱c视频
|
欧洲a级片
|