《Hadoop技術(shù)原理》課件-10.數(shù)據(jù)倉(cāng)庫(kù)Hive_第1頁(yè)
《Hadoop技術(shù)原理》課件-10.數(shù)據(jù)倉(cāng)庫(kù)Hive_第2頁(yè)
《Hadoop技術(shù)原理》課件-10.數(shù)據(jù)倉(cāng)庫(kù)Hive_第3頁(yè)
《Hadoop技術(shù)原理》課件-10.數(shù)據(jù)倉(cāng)庫(kù)Hive_第4頁(yè)
《Hadoop技術(shù)原理》課件-10.數(shù)據(jù)倉(cāng)庫(kù)Hive_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Hadoop技術(shù)原理數(shù)據(jù)倉(cāng)庫(kù)HiveHive簡(jiǎn)介01Hive簡(jiǎn)介01Hive是基于Hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表,并提供簡(jiǎn)單的sql查詢功能,可以將sql語(yǔ)句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行。Hive簡(jiǎn)介02Hive在Hadoop生態(tài)圈中的位置如下:Hive簡(jiǎn)介03什么是Hive?Hive是一個(gè)翻譯器:SQL--->Hive引擎--->MapReduce程序Hive是構(gòu)建在HDFS上的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)(DataWarehouse)Hive支持SQL(SQL99標(biāo)準(zhǔn)的一個(gè)子集)HiveHDFS表目錄分區(qū)目錄數(shù)據(jù)文件桶文件減低學(xué)習(xí)MapReduce的成功,使DBA、運(yùn)維人員可以通過(guò)SQL來(lái)實(shí)現(xiàn)為什么使用Hive?Hive體系結(jié)構(gòu)04Hive基本架構(gòu)Hive體系結(jié)構(gòu)05Hive工作原理Hive的安裝06Metastore三種運(yùn)行模式Hive的安裝07了解Metastore配置屬性hive-site.xml屬性名稱類型默認(rèn)值描述hive.metastore.warehouse.dirURI/usr/hive/warehouse相對(duì)于的目錄,托管表就存儲(chǔ)在這里hive.metastore.uris逗號(hào)分隔的URI未設(shè)定如果未設(shè)置(默認(rèn)值),則使用當(dāng)前的metastore,否則連接到由URI列表指定要連接的遠(yuǎn)程metastore服務(wù)器。如果有多個(gè)遠(yuǎn)程服務(wù)器,則客戶端便以輪詢方式連接javax.jdo.option.ConnectionURLURIjdbc:derby:;databaseName=metastore_db;create=trueJDBCURL,mysql示例:jdbc:mysql://localhost:3306/hive?useSSL=falsejavax.jdo.option.ConnectionDriverNameStringorg.apache.derby.jdbc.EmbeddedDriverJDBC驅(qū)動(dòng)器的類名javax.jdo.option.ConnectionUserNameStringAPPJDBC用戶名javax.jdo.option.ConnectionPasswordStringmineJDBC密碼Hive的安裝08Hive安裝步驟解壓hive安裝包配置環(huán)境變量配置conf/hive-site.xml如果是derby,初始化:schematool-dbTypederby-initSchema如果是mysql,將MySQL驅(qū)動(dòng)拷貝到lib下,初始化:schematool-dbTypemysql-initSchema啟動(dòng)hive:輸入hiveHiveQL操作02HiveQL01Hive支持的數(shù)據(jù)類型基本數(shù)據(jù)類型(不區(qū)分大小寫(xiě))TINYINT/SMALLINT/INT/BIGINT:整數(shù)類型FLOAT/DOUBLE:浮點(diǎn)數(shù)類型BOOLEAN:布爾類型STRING:字符串類型復(fù)雜數(shù)據(jù)類型Array:數(shù)組類型,由一系列相同數(shù)據(jù)類型的元素組成Map:集合類型,包含key->value鍵值對(duì),可以通過(guò)key來(lái)訪問(wèn)元素。Struct:結(jié)構(gòu)類型,可以包含不同數(shù)據(jù)類型的元素。這些元素可以通過(guò)”點(diǎn)語(yǔ)法”的方式來(lái)得到所需要的元素時(shí)間類型Date:從Hive0.12.0開(kāi)始支持Timestamp:從Hive0.8.0開(kāi)始支持HiveQL02建表命令常用的:CREATE[TEMPORARY][EXTERNAL]TABLEtable_name(col_namedata_type[COMMENTcol_comment],...)[PARTITIONEDBY(col_namedata_type[COMMENTcol_comment],...)][LOCATIONhdfs_path]ROWFORMATDELIMITED[FIELDSTERMINATEDBYchar][CLUSTEREDBY(col_name,col_name,...)[SORTEDBY(col_name[ASC|DESC],...)]INTOnum_bucketsBUCKETS]HiveQL03數(shù)據(jù)加載命令LOADDATA[LOCAL]INPATH'filepath'[OVERWRITE]INTOTABLEtablename[PARTITION(partcol1=val1,partcol2=val2...)]

LOADDATA[LOCAL]INPATH'filepath'[OVERWRITE]INTOTABLEtablename[PARTITION(partcol1=val1,partcol2=val2...)][INPUTFORMAT'inputformat'SERDE'serde'](3.0orlater)數(shù)據(jù)模型04內(nèi)部表(托管表)與數(shù)據(jù)庫(kù)中的Table在概念上是類似每一個(gè)Table在Hive中都有一個(gè)相應(yīng)的目錄存儲(chǔ)數(shù)據(jù)所有的Table數(shù)據(jù)(不包括ExternalTable)都保存在這個(gè)目錄中刪除表時(shí),元數(shù)據(jù)與數(shù)據(jù)都會(huì)被刪除數(shù)據(jù)模型05外部表指向已經(jīng)在HDFS中存在的數(shù)據(jù)它和內(nèi)部表在元數(shù)據(jù)的組織上是相同的,而實(shí)際數(shù)據(jù)的存儲(chǔ)則有較大的差異外部表只有一個(gè)過(guò)程,加載數(shù)據(jù)和創(chuàng)建表同時(shí)完成,并不會(huì)移動(dòng)到數(shù)據(jù)倉(cāng)庫(kù)目錄中,只是與外部數(shù)據(jù)建立一個(gè)鏈接。當(dāng)刪除一個(gè)外部表時(shí),僅刪除該鏈接數(shù)據(jù)模型06分區(qū)表Partition對(duì)應(yīng)于數(shù)據(jù)庫(kù)的Partition列的密集索引在Hive中,表中的一個(gè)Partition對(duì)應(yīng)于表下的一個(gè)目錄,所有的Partition的數(shù)據(jù)都存儲(chǔ)在對(duì)應(yīng)的目錄中創(chuàng)建分區(qū)表創(chuàng)建表時(shí),可以指定按某個(gè)字段進(jìn)行分區(qū)數(shù)據(jù)模型07桶表桶表與之前的MapReduce中的Hash分區(qū)很像。目的是讓數(shù)據(jù)分散存放,避免熱塊。桶表是對(duì)數(shù)據(jù)進(jìn)行哈希取值,然后放到不同文件中存儲(chǔ)。需要設(shè)置環(huán)境變量:sethive.enforce.bucketing=true;數(shù)據(jù)模型08視圖視圖是一種虛表,是一個(gè)邏輯概念;可以跨越多張表視圖建立在已有表的基礎(chǔ)上,視圖賴以建立的這些表稱為基表視圖可以簡(jiǎn)化復(fù)雜的查詢,但不能提高查詢的效率數(shù)據(jù)查詢09普通查詢基本語(yǔ)法selectfieldsfromtable_name;多表查詢子查詢只支持:內(nèi)連接,外連接,左半不支持非相等的join條件hive只支持:from和where子句中的子查詢條件函數(shù)case....when....是標(biāo)準(zhǔn)的SQL語(yǔ)句Hive不支持?jǐn)?shù)據(jù)刪除或修改客戶端操作10首先啟動(dòng)Hive遠(yuǎn)程服務(wù):hiveserver2pom.xml配置依賴<dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>2.6.0</version></dependency><dependency><groupId>org.apache.hive</groupId><artifactId>hive-jdbc</artifactId><version>2.3.0</version></dependency>co

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論