數(shù)據(jù)倉庫Hive應(yīng)用實戰(zhàn) 教案21-24課時-Hive數(shù)據(jù)庫基本操作_第1頁
數(shù)據(jù)倉庫Hive應(yīng)用實戰(zhàn) 教案21-24課時-Hive數(shù)據(jù)庫基本操作_第2頁
數(shù)據(jù)倉庫Hive應(yīng)用實戰(zhàn) 教案21-24課時-Hive數(shù)據(jù)庫基本操作_第3頁
數(shù)據(jù)倉庫Hive應(yīng)用實戰(zhàn) 教案21-24課時-Hive數(shù)據(jù)庫基本操作_第4頁
數(shù)據(jù)倉庫Hive應(yīng)用實戰(zhàn) 教案21-24課時-Hive數(shù)據(jù)庫基本操作_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

湖南汽車工程職業(yè)學(xué)院教師授課教案第5周第1-4課時累計24課時課程名稱大數(shù)據(jù)倉庫HIVE授課課題Hive基本操作授課專業(yè)班級大數(shù)據(jù)2101、大數(shù)據(jù)2102、大數(shù)據(jù)2103教學(xué)目標(biāo)能熟練創(chuàng)建、查看數(shù)據(jù)庫;能熟練查詢、選擇數(shù)據(jù)庫;教學(xué)要點教學(xué)重點創(chuàng)建數(shù)據(jù)倉庫教學(xué)難點數(shù)據(jù)倉庫存儲路徑課型一體化授課教法與學(xué)法(教具)示范演示法、任務(wù)驅(qū)動教學(xué)法、分組合作教學(xué)法課后作業(yè)完成智課堂作業(yè)、看視頻熟練操作教學(xué)后記(教師課后填寫)授課教師王海霞、黃史記【課前復(fù)習(xí)】1、Hadoop和Hive強(qiáng)調(diào)優(yōu)化磁盤的(讀和寫)的性能,而限制列的值的長度相對來說并不重要。2、TIMESTAMPS表示的是UTC時間,Hive本身提供了不同時區(qū)間互相轉(zhuǎn)換的內(nèi)置函數(shù),即(

to_utc_timestamp函數(shù))和

from_utc_timestamp函數(shù)。3、Hive和C語言中的struct或者“對象”類似,都可以通過(點)符號訪問元素內(nèi)容。4、MAP是一組(鍵-值)對元組集合,使用數(shù)組表示法可以訪問元素。5、CSV,Comma-separatedvalues的縮寫,是用(半角逗號)作為字段值的分隔符的文本文件;TSV,Tab-separatedvalues的縮寫,是用(制表符)作為字段值的分隔符的文本文件。6、傳統(tǒng)數(shù)據(jù)庫是(寫時模式),即數(shù)據(jù)在寫入數(shù)據(jù)庫時對模式進(jìn)行檢查。Hive不會在數(shù)據(jù)加載時進(jìn)行驗證,而是在查詢時進(jìn)行,也就是(讀時模式)。7、Hadoop的通用和強(qiáng)大體現(xiàn)在它能夠存儲和處理任何類型的結(jié)構(gòu)化、(半結(jié)構(gòu)化)或(非結(jié)構(gòu)化)數(shù)據(jù)。8、Hive不是一個數(shù)據(jù)庫,而是一個友好且為我們所熟悉的接口,可以查詢存儲在(HDFS)上的底層數(shù)據(jù)文件?!咀鳂I(yè)點評】展示超星學(xué)生作業(yè)完成情況,并做點評?!緦W(xué)習(xí)目標(biāo)】能熟練創(chuàng)建、查看數(shù)據(jù)庫;能熟練查詢、選擇數(shù)據(jù)庫;【課程導(dǎo)入】HiveQL是Hive査詢語言。和普遍使用的所有SQL方言一樣,基于ANSI標(biāo)準(zhǔn)SQL。HiveQL可能和MySQL方言最接近,但是兩者還是存在顯著性差異。Hive不支持行級插人操作、更新操作和刪除操作,Hive也不支持事務(wù)。Hive增加了在Hadoop背景下的可以提供更高性能的擴(kuò)展,以及個性化的擴(kuò)展,甚至還增加了一些外部程序。當(dāng)然了,大部分的HiveQL是很常見的。本章是HiveQL數(shù)據(jù)定義語言部分(DDL)的開始,主要是創(chuàng)建、查詢、修改和刪除數(shù)據(jù)庫。Hive中數(shù)據(jù)庫的概念本質(zhì)上僅僅是表的一個目錄或者命名空間。然而,對于具有很多組和用戶的大集群來說,這是非常有用的,因為這樣可以避免表命名沖突。通常會使用數(shù)據(jù)庫來將生產(chǎn)表組織成邏輯組?!拘抡n講授】默認(rèn)數(shù)據(jù)庫Hive安裝完成并初始化元數(shù)據(jù)后,會自動產(chǎn)生一個默認(rèn)的數(shù)據(jù)庫default。hive>showdatabases;OKdefaultTimetaken:0.041seconds,Fetched:1row(s)二、創(chuàng)建數(shù)據(jù)庫1、創(chuàng)建數(shù)據(jù)庫的語法形式CREATE(DATABASE|SCHEMA)[IFNOTEXISTS]database_name[COMMENTdatabase_comment][LOCATIONhdfs_path][WITHDBPROPERTIES(property_name=property_value,...)];IFNOTEXISTS是可選子句,通知用戶是否具有相同名字的數(shù)據(jù)庫存在;不使用該子句,如果該database_name數(shù)據(jù)庫已經(jīng)存在的話,將會拋出錯誤信息。COMMENT是可選子句,用戶使用該子句為該數(shù)據(jù)庫增加描述信息。LOCATION是可選子句,修改原來默認(rèn)存儲位置,并指定數(shù)據(jù)存儲在hdfs_path路徑,且該路徑可以是不存在的。WITHDBPROPERTIES是可選子句,可為數(shù)據(jù)庫設(shè)置與其相關(guān)的Key-Value(鍵-值對)格式的數(shù)據(jù)庫屬性,Key可以自定義?!纠?-1】創(chuàng)建一個studentdb數(shù)據(jù)庫實例,并為該數(shù)據(jù)庫添加了描述信息、設(shè)置了存儲位置及數(shù)據(jù)庫屬性?!纠?-2】創(chuàng)建一個最簡單的coursedb的數(shù)據(jù)庫實例?!纠?-3】使用SCHEMA關(guān)鍵字創(chuàng)建teacherdb數(shù)據(jù)庫實例。2、查看數(shù)據(jù)庫【學(xué)生練習(xí)】1、以下不屬于Hive基礎(chǔ)數(shù)據(jù)類型的是()CA、INTB、FLOATC、CHARD、STRING

2、TIMESTAMP數(shù)據(jù)類型的值不可以是()DA、整數(shù)B、浮點數(shù)C、STRINGD、BINARY3、TINYINT表示2byte有符號整數(shù)。()錯【新課講授】二、集合數(shù)據(jù)類型數(shù)據(jù)類型描述字面語法示例STRUCT和C語言中的struct或者“對象”類似,都可以通過“點”符號訪問元素內(nèi)容。例如,如果某個列的數(shù)據(jù)類型是STRUCT{firstSTRING,lastSTRING},那么第1個元素可以通過“字段名.first”來引用。struct(‘John’,’Doe’)MAPMAP是一組鍵-值對元組集合,使用數(shù)組表示法(例如[‘key’])可以訪問元素。例如,如果某個列的數(shù)據(jù)是MAP,其中鍵->值對是‘first’->‘John’和‘last’>‘Doe’那么可以通過“字段名[‘last’]”獲取最后1個元素。map(first’,Jor’,last’,Doe’)ARRAY數(shù)組是一組具有相同類型和名稱的變量的集合,這些變量稱為數(shù)組的元素,每個數(shù)組元素都有一個編號,編號從零開始。例如,數(shù)組值為[“John’,‘Doe’],那么第2個元素可以通過“數(shù)組名[1]”進(jìn)行引用。Array(‘John’,‘Doe’)【學(xué)生練習(xí)】1、以下不是Hive中的列支持的集合數(shù)據(jù)類型的是()BA、structB、BINARYC、mapD、array2、數(shù)組sports(‘Football’,’Basketball’,’Badminton’,’Tabletennis’,’Volleyball’)中存放了各項球類運動,獲取第3個數(shù)組元素的正確方式是()AA、sports[2]B、sports[3]C、sportsD、sports[Badminton]3、TIMESTAMPS表示的是UTC時間,Hive本身提供了不同時區(qū)間互相轉(zhuǎn)換的內(nèi)置函數(shù),即(

to_utc_timestamp函數(shù))和

from_utc_timestamp函數(shù)。4、Hive和C語言中的struct或者“對象”類似,都可以通過(點)符號訪問元素內(nèi)容。5、MAP是一組(鍵-值)對元組集合,使用數(shù)組表示法可以訪問元素?!拘抡n講授】三、文本文件數(shù)據(jù)編碼CSV,Comma-separatedvalues的縮寫,是用半角逗號(‘,’)作為字段值的分隔符的文本文件;TSV,Tab-separatedvalues的縮寫,是用制表符(Tab,'\t')作為字段值的分隔符的文本文件;TSV和CSV都是文本文件。Hive是支持TSV和CSV文件格式的。分隔符描述\n對于文本文件來說,每行都是一條記錄,因此換行符可以分割記錄^A(Ctrl+A)用于分隔字段(列)。在CREATETABLE語句中可以使用八進(jìn)制編碼\001表示^B用于分隔ARRARY或者STRUCT中的元素,或用于MAP中鍵-值對之間的分隔。在CREATETABLE語句中可以使用八進(jìn)制編碼\002表示^C用于MAP中鍵和值之間的分隔。在CREATETABLE語句中可以使用八進(jìn)制編碼\003表示【學(xué)生練習(xí)】1、CSV,Comma-separatedvalues的縮寫,是用(半角逗號)作為字段值的分隔符的文本文件;TSV,Tab-separatedvalues的縮寫,是用(制表符)作為字段值的分隔符的文本文件。2、Hadoop的通用和強(qiáng)大體現(xiàn)在它能夠存儲和處理任何類型的結(jié)構(gòu)化、(半結(jié)構(gòu)化)或(非結(jié)構(gòu)化)數(shù)據(jù)。3、Hive不是一個數(shù)據(jù)庫,而是一個友好且為我們所熟悉的接口,可以查詢存儲在(HDFS)上的底層數(shù)據(jù)文件。4、用戶在表結(jié)構(gòu)申明時可以不使用默認(rèn)分隔符,而指定使用其他分隔符。()對5、Hive只支持txt格式文本文件,不支持TSV和CSV文件格式的文本文件。()錯6、Hive到目前為止對于LINESTERMINATEDBY…僅支持字符‘\n’,即行與行之間的分隔符只能為‘\n’。()對【新課講授】四、讀時模式傳統(tǒng)數(shù)據(jù)庫中,當(dāng)用戶寫入數(shù)據(jù)時,不管是采用裝載外部數(shù)據(jù)的方式,還是采用將一個查詢的輸出結(jié)果寫入的方式,或者是使用UPDATE語句等等,數(shù)據(jù)庫對于存儲都具有完全的控制力。數(shù)據(jù)庫就是“守門人”,傳統(tǒng)數(shù)據(jù)庫是寫時模式(schemaonwrite),即數(shù)據(jù)在寫入數(shù)據(jù)庫時對模式進(jìn)行檢查。Hive對底層存儲并沒有這樣的控制。因此,Hive不會在數(shù)據(jù)加載時進(jìn)行驗證,而是在查詢時進(jìn)行,也就是讀時模式(schemaonread)?!緦W(xué)生練習(xí)】1、傳統(tǒng)數(shù)據(jù)庫是(寫時模式),即數(shù)據(jù)在寫入數(shù)據(jù)庫時對模式進(jìn)行檢查。Hive不會在數(shù)據(jù)加載時進(jìn)行驗證,而是在查詢時進(jìn)行,也就是(讀時模式)。2、Hadoop的通用和強(qiáng)大體現(xiàn)在它能夠存儲和處理任何類型的結(jié)構(gòu)化、(半結(jié)構(gòu)化)或(非結(jié)構(gòu)化)數(shù)據(jù)。3、Hive不是一個數(shù)據(jù)庫,而是一個友好且為我們所熟悉的接口,可以查詢存儲在(HDFS)上的底層數(shù)據(jù)文件。4、以下對于Hive的讀時模式描述錯誤的是()DA、Hive并不控制數(shù)據(jù)如何

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論