數(shù)據(jù)倉庫Hive應(yīng)用實(shí)戰(zhàn) 教案33-36課時(shí)-表的概念及創(chuàng)建表_第1頁
數(shù)據(jù)倉庫Hive應(yīng)用實(shí)戰(zhàn) 教案33-36課時(shí)-表的概念及創(chuàng)建表_第2頁
數(shù)據(jù)倉庫Hive應(yīng)用實(shí)戰(zhàn) 教案33-36課時(shí)-表的概念及創(chuàng)建表_第3頁
數(shù)據(jù)倉庫Hive應(yīng)用實(shí)戰(zhàn) 教案33-36課時(shí)-表的概念及創(chuàng)建表_第4頁
數(shù)據(jù)倉庫Hive應(yīng)用實(shí)戰(zhàn) 教案33-36課時(shí)-表的概念及創(chuàng)建表_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

湖南汽車工程職業(yè)學(xué)院教師授課教案第5周第1-4課時(shí)累計(jì)36課時(shí)課程名稱大數(shù)據(jù)倉庫HIVE授課課題Hive基本操作授課專業(yè)班級(jí)大數(shù)據(jù)2101、大數(shù)據(jù)2102、大數(shù)據(jù)2103教學(xué)目標(biāo)了解表的基本概念;理解內(nèi)部表、外部表和分區(qū)表的含義及區(qū)別;能熟練創(chuàng)建表。教學(xué)要點(diǎn)教學(xué)重點(diǎn)能熟練創(chuàng)建表教學(xué)難點(diǎn)表的基本概念課型一體化授課教法與學(xué)法(教具)示范演示法、任務(wù)驅(qū)動(dòng)教學(xué)法、分組合作教學(xué)法課后作業(yè)完成智課堂作業(yè)、看視頻熟練操作教學(xué)后記(教師課后填寫)授課教師王海霞【課前復(fù)習(xí)】創(chuàng)建數(shù)據(jù)庫的命令?切換數(shù)據(jù)庫的命令?如何修改數(shù)據(jù)庫屬性?【作業(yè)點(diǎn)評】展示智課堂學(xué)生作業(yè)完成情況,并做點(diǎn)評。【學(xué)習(xí)目標(biāo)】了解表的基本概念;理解內(nèi)部表、外部表和分區(qū)表的含義及區(qū)別;能熟練創(chuàng)建表?!菊n程導(dǎo)入】本章繼續(xù)HiveDDL中表的操作,主要是創(chuàng)建、查看、修改、保護(hù)、刪除Hive中的內(nèi)部表、外部表、分區(qū)表。在實(shí)現(xiàn)各類表的各種操作時(shí),要特別理解各類表間的區(qū)別及各類表的表結(jié)構(gòu)與表數(shù)據(jù)之間的關(guān)聯(lián)?!拘抡n講授】表的基本概念Hive數(shù)據(jù)模型包含一個(gè)關(guān)于數(shù)據(jù)的邏輯行列視圖,被稱作表。就像關(guān)系數(shù)據(jù)庫一樣,Hive表由一個(gè)關(guān)于數(shù)據(jù)的二維視圖定義組成。然而,數(shù)據(jù)獨(dú)立于表存在。Hive表中的數(shù)據(jù)存在于HDFS目錄中,而表的定義存儲(chǔ)在一個(gè)名為HCatalog的關(guān)系數(shù)據(jù)庫中。Hive表和關(guān)系數(shù)據(jù)庫的表之間存在一些重要區(qū)別。二、創(chuàng)建表1、創(chuàng)建數(shù)據(jù)庫的語法形式Hive中創(chuàng)建表,其基本語法聲明如下:CREATE[EXTERNAL]TABLE[IFNOTEXISTS][db_name.]table_name[(col_namedata_type[COMMENTcol_comment],...)][COMMENTtable_comment][PARTITIONEDBY(col_namedata_type[COMMENTcol_comment],...)][CLUSTEREDBY(col_name,col_name,...)[ROWFORMATrow_format][STOREDASfile_format][TBLPROPERTIYES(property_name=property_value,...)][LOCATIONhdfs_path]其中,所有[]中的內(nèi)容都是可選項(xiàng),詳細(xì)語法解釋如下表。表6-1創(chuàng)建表語句語法詳解關(guān)鍵字語法解釋CREATE用于創(chuàng)建表的關(guān)鍵字。EXTERNAL可選子句。用于指定該表是一張外部表。IFNOTEXISTS可選子句。通知用戶是否具有相同名字的表存在。使用該子句,如果存在相同表名,忽略后面的語句,不再創(chuàng)建該表;不使用該子句,如果該table_name表已經(jīng)存在的話,將會(huì)拋出錯(cuò)誤信息。COMMENT可選子句。用于添加注釋,根據(jù)所處的位置,為不同的內(nèi)容添加注釋,例如,如果用在某個(gè)字段后面則是為該字段添加注釋,如果用在整個(gè)字段定義的后面則是用來為該表添加一個(gè)注釋。PARTITIONEDBY可選子句。用于創(chuàng)建分區(qū)表,注意分區(qū)的字段不可在普通字段中重復(fù)出現(xiàn)。分區(qū)表在工作中十分常見,一般來說公司所有的表都會(huì)以日期進(jìn)行分區(qū),以便提高查詢效率。CLUSTEREDBY可選子句。Hive中的分桶操作。ROWFORMAT可選子句。用于指定數(shù)據(jù)切分格式,一般使用'\t'作為列之間的切分格式。STOREDAS可選子句。用于設(shè)定數(shù)據(jù)在Hive中的存儲(chǔ)格式,一般不指定,直接使用默認(rèn)。TBLPROPERTIYES可選子句。可為表設(shè)置表層級(jí)的Key-Value(鍵-值對)格式的表屬性,Key可以自定義。LOCATION可選子句。指定表的數(shù)據(jù)文件存放的HDFS目錄,不管內(nèi)部表還是外表,都可以指定。不指定時(shí)表的數(shù)據(jù)文件存放再默認(rèn)的倉庫路徑?!纠?-1】創(chuàng)建外部表學(xué)生表student_externel并添加comment注釋?!纠?-2】在指定的studentdb數(shù)據(jù)中創(chuàng)建外部表學(xué)生表student_externel。外部表內(nèi)部表內(nèi)部表,又稱管理表,因?yàn)閮?nèi)部表,Hive會(huì)(或多或少)控制這數(shù)據(jù)的生命周期。這意味著當(dāng)你刪除一個(gè)內(nèi)部表時(shí),Hive也將刪除這個(gè)表的底層數(shù)據(jù)。這類表在Hadoop中并不經(jīng)常使用,因?yàn)樵诖蠖鄶?shù)環(huán)境中,即使是將表刪除了文件系統(tǒng)中的數(shù)據(jù)仍然需要保留。在Hive中,由于數(shù)據(jù)和元數(shù)據(jù)沒有綁定在一起,因此它允許底層數(shù)據(jù)與pig或其他工具一起使用?!纠?-3】在數(shù)據(jù)庫studentdb中創(chuàng)建內(nèi)部表學(xué)生表student_internel。4、外部表和內(nèi)部表的區(qū)別【例6-4】本例中共有8個(gè)步驟,以說明同一數(shù)據(jù)集上能創(chuàng)建多個(gè)表,及內(nèi)部表對于數(shù)據(jù)的控制。請依次完成以下操作:第1步,將本地文件hunan_city.txt加載到HDFS中的/user/test/city目錄并驗(yàn)證。第2步,創(chuàng)建內(nèi)部表city_internal來訪問文件hunan_city.txt中的數(shù)據(jù)。第3步,加載另一個(gè)本地文件guangdong_city.txt到HDFS中的/user/test/city目錄并驗(yàn)證。第4步,再次查詢內(nèi)部表city_internal中的內(nèi)容。第5步,在同一數(shù)據(jù)集/user/test/city上創(chuàng)建外部表city_external_one并查看該表中的數(shù)據(jù)。第6步,在同一數(shù)據(jù)集/user/test/city上創(chuàng)建第2個(gè)外部表city_external_two,并查看該表中的數(shù)據(jù)。第7步,刪除第2個(gè)外部表city_external_two并查詢city_internal表和city_external_one表中的數(shù)據(jù)。第8步,刪除內(nèi)部表city_internal并查詢外部表city_external_one中的數(shù)據(jù)。5、其他創(chuàng)建表命令CTAS命令CREATETABLELIKE命令如果想復(fù)制某個(gè)已有表的模式而不復(fù)制它的數(shù)據(jù),可以使用CREATETABLELIKE命令?!纠?-5】使用CREATETABLE復(fù)制外部表student_external的表模式,且名為student_external_copy,student_external_copy為內(nèi)部表?!纠?-6】使用CREATETABLE復(fù)制內(nèi)部表student_internal的表模式,且名為student_internal_copy,student_internal_copy為內(nèi)部表?!纠?-7】使用CREATEEXTERNALTABLE復(fù)制外部表student_external的表模式,且名為student_external_copy2,student_external_copy2為外部表?!纠?-8】使用CREATEEXTERNALTABLE復(fù)制內(nèi)部表student_internal的表模式,且名為student_internal_copy2,student_internal_copy2為外部表?!緦W(xué)生練習(xí)】1、以下不屬于Hive基礎(chǔ)數(shù)據(jù)類型的是()CA、INTB、FLOATC、CHARD、STRING

2、TIMESTAMP數(shù)據(jù)類型的值不可以是()DA、整數(shù)B、浮點(diǎn)數(shù)C、STRINGD、BINARY3、TINYINT表示2byte有符號(hào)整數(shù)。()錯(cuò)【新課講授】二、集合數(shù)據(jù)類型數(shù)據(jù)類型描述字面語法示例STRUCT和C語言中的struct或者“對象”類似,都可以通過“點(diǎn)”符號(hào)訪問元素內(nèi)容。例如,如果某個(gè)列的數(shù)據(jù)類型是STRUCT{firstSTRING,lastSTRING},那么第1個(gè)元素可以通過“字段名.first”來引用。struct(‘John’,’Doe’)MAPMAP是一組鍵-值對元組集合,使用數(shù)組表示法(例如[‘key’])可以訪問元素。例如,如果某個(gè)列的數(shù)據(jù)是MAP,其中鍵->值對是‘first’->‘John’和‘last’>‘Doe’那么可以通過“字段名[‘last’]”獲取最后1個(gè)元素。map(first’,Jor’,last’,Doe’)ARRAY數(shù)組是一組具有相同類

溫馨提示

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

評論

0/150

提交評論