Hive的基本概念-創(chuàng)新互聯(lián)

這篇文章主要介紹“Hive的基本概念”,在日常操作中,相信很多人在Hive的基本概念問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Hive的基本概念”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)建站長期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為屏邊企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站制作,屏邊網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

Hive簡介

什么是Hive

Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供類SQL查詢功能(HQL)。

其本質(zhì)是將SQL轉(zhuǎn)換為MapReduce的任務(wù)進(jìn)行運(yùn)算,底層由HDFS來提供數(shù)據(jù)的存儲,hive可以理解為一個將SQL轉(zhuǎn)換為MapReduce的任務(wù)的工具。

Hive可以對數(shù)據(jù)進(jìn)行存儲與計(jì)算

數(shù)據(jù)存儲依賴于HDFS

數(shù)據(jù)計(jì)算依賴于MapReduce

為什么使用Hive

直接使用hadoop所面臨的問題

人員學(xué)習(xí)成本太高

項(xiàng)目周期要求太短

MapReduce實(shí)現(xiàn)復(fù)雜查詢邏輯開發(fā)難度太大

為什么要使用Hive

操作接口采用類SQL語法,提供快速開發(fā)的能力。

避免了去寫MapReduce,減少開發(fā)人員的學(xué)習(xí)成本。

功能擴(kuò)展很方便。

Hive的特點(diǎn)

可擴(kuò)展

Hive可以自由的擴(kuò)展集群的規(guī)模,一般情況下不需要重啟服務(wù)。

延展性

Hive支持用戶自定義函數(shù),用戶可以根據(jù)自己的需求來實(shí)現(xiàn)自己的函數(shù)。

容錯

良好的容錯性,節(jié)點(diǎn)出現(xiàn)問題SQL仍可完成執(zhí)行。

Hive架構(gòu)

Hive的基本概念

元數(shù)據(jù):

描述數(shù)據(jù)的數(shù)據(jù)就是元數(shù)據(jù)

表的名字,

表的列

列的類型

Hive內(nèi)部執(zhí)行過程:

解釋器 -> 編譯器(會使用到元數(shù)據(jù)) -> 優(yōu)化器 -> 執(zhí)行器

基本組成

用戶接口:包括CLI、JDBC/ODBC、WebGUI。其中,CLI(command line interface)為shell命令行;JDBC/ODBC是Hive的JAVA實(shí)現(xiàn),與傳統(tǒng)數(shù)據(jù)庫JDBC類似;WebGUI是通過瀏覽器訪問Hive。

元數(shù)據(jù)存儲:通常是存儲在關(guān)系數(shù)據(jù)庫如mysql/derby中。Hive 將元數(shù)據(jù)存儲在數(shù)據(jù)庫中。Hive 中的元數(shù)據(jù)包括表的名字,表的列和分區(qū)及其屬性,表的屬性(是否為外部表等),表的數(shù)據(jù)所在目錄等。

**解釋器、編譯器、優(yōu)化器、執(zhí)行器:**完成HQL 查詢語句從詞法分析、語法分析、編譯、優(yōu)化以及查詢計(jì)劃的生成。生成的查詢計(jì)劃存儲在HDFS 中,并在隨后有MapReduce 調(diào)用執(zhí)行。

Hive與Hadoop的關(guān)系

Hive利用HDFS存儲數(shù)據(jù),利用MapReduce查詢分析數(shù)據(jù)

Hive的基本概念

Hive與傳統(tǒng)數(shù)據(jù)庫對比

hive用于海量數(shù)據(jù)的離線數(shù)據(jù)分析

Hive的基本概念

1.數(shù)據(jù)格式。Hive中沒有定義專門的數(shù)據(jù)格式

數(shù)據(jù)格式可以由用戶指定,用戶定義數(shù)據(jù)格式需要指定三個屬性:

列分隔符(通常為空格、”\t”、”\x001″)、

行分隔符(”\n”)以及

讀取文件數(shù)據(jù)的方法(Hive 中默認(rèn)有三個文件格式 TextFile,SequenceFile 以及 RCFile)。

2.Hive在加載數(shù)據(jù)的過程中,不需要從用戶數(shù)據(jù)格式到 Hive 定義的數(shù)據(jù)格式的轉(zhuǎn)換。

3.Hive 在加載的過程中==不會對數(shù)據(jù)本身進(jìn)行任何修改,甚至不會對數(shù)據(jù)進(jìn)行掃描。==而只是將數(shù)據(jù)內(nèi)容復(fù)制或者移動到相應(yīng)的 HDFS 目錄中。

4.Hive 中不支持對數(shù)據(jù)的改寫和添加,所有的數(shù)據(jù)都是在加載的時候中確定好的。

5.Hive 在加載數(shù)據(jù)的過程中不會對數(shù)據(jù)中的某些 Key 建立索引。Hive 要訪問數(shù)據(jù)中滿足條件的特定值時,需要暴力掃描整個數(shù)據(jù),因此訪問延遲較高。由于數(shù)據(jù)的訪問延遲較高,決定了Hive 不適合在線數(shù)據(jù)查詢。

6.Hive 是建立在 Hadoop 之上的,因此 Hive 的可擴(kuò)展性是和 Hadoop 的可擴(kuò)展性是一致的。

總結(jié):hive具有sql數(shù)據(jù)庫的外表,但應(yīng)用場景完全不同,hive只適合用來做批量數(shù)據(jù)統(tǒng)計(jì)分析

Hive的數(shù)據(jù)存儲

1、Hive中所有的數(shù)據(jù)都存儲在 HDFS 中,沒有專門的數(shù)據(jù)存儲格式(可支持Text,SequenceFile,ParquetFile,ORC格式RCFILE等)

2.只需要在創(chuàng)建表的時候告訴 Hive 數(shù)據(jù)中的列分隔符和行分隔符,Hive 就可以解析數(shù)據(jù)。

3.Hive 中包含以下數(shù)據(jù)模型:DB、Table,External Table,Partition,Bucket。

db:在hdfs中表現(xiàn)為${hive.metastore.warehouse.dir}目錄下一個文件夾

table:在hdfs中表現(xiàn)所屬db目錄下一個文件夾

external table:與table類似,不過其數(shù)據(jù)存放位置可以在任意指定路徑

partition:在hdfs中表現(xiàn)為table目錄下的子目錄

bucket:在hdfs中表現(xiàn)為同一個表目錄下根據(jù)hash散列之后的多個文件

到此,關(guān)于“Hive的基本概念”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

本文名稱:Hive的基本概念-創(chuàng)新互聯(lián)
URL分享:http://bm7419.com/article26/dcoecg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、云服務(wù)器、營銷型網(wǎng)站建設(shè)面包屑導(dǎo)航、軟件開發(fā)、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)