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

下載本文檔

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

文檔簡介

Hadoop技術(shù)原理數(shù)據(jù)倉庫HiveHive簡介01Hive簡介01Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進行運行。Hive簡介02Hive在Hadoop生態(tài)圈中的位置如下:Hive簡介03什么是Hive?Hive是一個翻譯器:SQL--->Hive引擎--->MapReduce程序Hive是構(gòu)建在HDFS上的一個數(shù)據(jù)倉庫(DataWarehouse)Hive支持SQL(SQL99標(biāo)準的一個子集)HiveHDFS表目錄分區(qū)目錄數(shù)據(jù)文件桶文件減低學(xué)習(xí)MapReduce的成功,使DBA、運維人員可以通過SQL來實現(xiàn)為什么使用Hive?Hive體系結(jié)構(gòu)04Hive基本架構(gòu)Hive體系結(jié)構(gòu)05Hive工作原理Hive的安裝06Metastore三種運行模式Hive的安裝07了解Metastore配置屬性hive-site.xml屬性名稱類型默認值描述hive.metastore.warehouse.dirURI/usr/hive/warehouse相對于的目錄,托管表就存儲在這里hive.metastore.uris逗號分隔的URI未設(shè)定如果未設(shè)置(默認值),則使用當(dāng)前的metastore,否則連接到由URI列表指定要連接的遠程metastore服務(wù)器。如果有多個遠程服務(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ū)動器的類名javax.jdo.option.ConnectionUserNameStringAPPJDBC用戶名javax.jdo.option.ConnectionPasswordStringmineJDBC密碼Hive的安裝08Hive安裝步驟解壓hive安裝包配置環(huán)境變量配置conf/hive-site.xml如果是derby,初始化:schematool-dbTypederby-initSchema如果是mysql,將MySQL驅(qū)動拷貝到lib下,初始化:schematool-dbTypemysql-initSchema啟動hive:輸入hiveHiveQL操作02HiveQL01Hive支持的數(shù)據(jù)類型基本數(shù)據(jù)類型(不區(qū)分大小寫)TINYINT/SMALLINT/INT/BIGINT:整數(shù)類型FLOAT/DOUBLE:浮點數(shù)類型BOOLEAN:布爾類型STRING:字符串類型復(fù)雜數(shù)據(jù)類型Array:數(shù)組類型,由一系列相同數(shù)據(jù)類型的元素組成Map:集合類型,包含key->value鍵值對,可以通過key來訪問元素。Struct:結(jié)構(gòu)類型,可以包含不同數(shù)據(jù)類型的元素。這些元素可以通過”點語法”的方式來得到所需要的元素時間類型Date:從Hive0.12.0開始支持Timestamp:從Hive0.8.0開始支持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ù)庫中的Table在概念上是類似每一個Table在Hive中都有一個相應(yīng)的目錄存儲數(shù)據(jù)所有的Table數(shù)據(jù)(不包括ExternalTable)都保存在這個目錄中刪除表時,元數(shù)據(jù)與數(shù)據(jù)都會被刪除數(shù)據(jù)模型05外部表指向已經(jīng)在HDFS中存在的數(shù)據(jù)它和內(nèi)部表在元數(shù)據(jù)的組織上是相同的,而實際數(shù)據(jù)的存儲則有較大的差異外部表只有一個過程,加載數(shù)據(jù)和創(chuàng)建表同時完成,并不會移動到數(shù)據(jù)倉庫目錄中,只是與外部數(shù)據(jù)建立一個鏈接。當(dāng)刪除一個外部表時,僅刪除該鏈接數(shù)據(jù)模型06分區(qū)表Partition對應(yīng)于數(shù)據(jù)庫的Partition列的密集索引在Hive中,表中的一個Partition對應(yīng)于表下的一個目錄,所有的Partition的數(shù)據(jù)都存儲在對應(yīng)的目錄中創(chuàng)建分區(qū)表創(chuàng)建表時,可以指定按某個字段進行分區(qū)數(shù)據(jù)模型07桶表桶表與之前的MapReduce中的Hash分區(qū)很像。目的是讓數(shù)據(jù)分散存放,避免熱塊。桶表是對數(shù)據(jù)進行哈希取值,然后放到不同文件中存儲。需要設(shè)置環(huán)境變量:sethive.enforce.bucketing=true;數(shù)據(jù)模型08視圖視圖是一種虛表,是一個邏輯概念;可以跨越多張表視圖建立在已有表的基礎(chǔ)上,視圖賴以建立的這些表稱為基表視圖可以簡化復(fù)雜的查詢,但不能提高查詢的效率數(shù)據(jù)查詢09普通查詢基本語法selectfieldsfromtable_name;多表查詢子查詢只支持:內(nèi)連接,外連接,左半不支持非相等的join條件hive只支持:from和where子句中的子查詢條件函數(shù)case....when....是標(biāo)準的SQL語句Hive不支持數(shù)據(jù)刪除或修改客戶端操作10首先啟動Hive遠程服務(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論