《大數(shù)據(jù)平臺(tái)部署與運(yùn)維》課件-分布式數(shù)據(jù)倉庫技術(shù)Hive_第1頁
《大數(shù)據(jù)平臺(tái)部署與運(yùn)維》課件-分布式數(shù)據(jù)倉庫技術(shù)Hive_第2頁
《大數(shù)據(jù)平臺(tái)部署與運(yùn)維》課件-分布式數(shù)據(jù)倉庫技術(shù)Hive_第3頁
《大數(shù)據(jù)平臺(tái)部署與運(yùn)維》課件-分布式數(shù)據(jù)倉庫技術(shù)Hive_第4頁
《大數(shù)據(jù)平臺(tái)部署與運(yùn)維》課件-分布式數(shù)據(jù)倉庫技術(shù)Hive_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《大數(shù)據(jù)平臺(tái)部署與運(yùn)維》《大數(shù)據(jù)平臺(tái)部署與運(yùn)維》課程組Hadoop理論概述學(xué)習(xí)目標(biāo)了解Hive的產(chǎn)生背景及其組成

掌握Hive的安裝設(shè)置

了解HQL的相關(guān)知識(shí)

1Hive表定義目錄Hive概述3Hive查詢4Hive安裝配置2Hive概述Hive的產(chǎn)生背景Facebook是美國的一個(gè)社交網(wǎng)站,于2004年2月4日上線。主要?jiǎng)?chuàng)始人為美國人馬克·扎克伯格。Facebook是世界排名領(lǐng)先的照片分享站點(diǎn)。Hive概述Hive的產(chǎn)生背景2008年3月,F(xiàn)aceBook(臉書)評(píng)價(jià)每天產(chǎn)生200GB數(shù)據(jù)2008年10月,數(shù)據(jù)已經(jīng)達(dá)到了每天2+TB,并且是壓縮的該怎么管理和分析呢???解決方案:使用Hadoop--提供更好的可用性--提供更好的擴(kuò)展性--在提供多臺(tái)機(jī)器的時(shí)候,效率有一定提升Hive概述Hive的產(chǎn)生背景使用Hadoop行不行???BUT!依然面臨的問題:專業(yè)人才短缺以及統(tǒng)一數(shù)據(jù)管理需求--編寫Map-Reduce程序?qū)W習(xí)成本高--現(xiàn)有員工基本都熟悉sql語言--需要一個(gè)元數(shù)據(jù)管理模塊來管理數(shù)據(jù)Hive概述Hive的產(chǎn)生背景干脆自己開發(fā)?。?!Hive最初是由Facebook設(shè)計(jì)的,是基于Hadoop的一個(gè)數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的類SQL查詢語言(稱為HiveQL)。底層將HiveQL語句轉(zhuǎn)換為MapReduce任務(wù)運(yùn)行,它允許熟悉SQL的用戶基于Hadoop框架分析數(shù)據(jù)。優(yōu)點(diǎn)是學(xué)習(xí)成本低,對(duì)于簡單的統(tǒng)計(jì)分析,不必開發(fā)專門的MapReduce程序,直接通過HiveQL即可實(shí)現(xiàn)。Hive概述Hive簡介Hive概述Hive架構(gòu)類型描述舉例基礎(chǔ)數(shù)據(jù)類型TINYINT1byte有符號(hào)整型20SMALLINT2byte有符號(hào)整型20INT4byte有符號(hào)整型20BIGINT8byte有符號(hào)整型20BOOLEAN布爾類型TrueFLOAT單精度浮點(diǎn)型3.14159DOUBLE雙精度浮點(diǎn)型3.14159STRING(CHAR、VARCHAR)字符串‘helloworld’TIMESTAMP(DATE)時(shí)間戳1327882394BINARY字節(jié)數(shù)組01復(fù)雜數(shù)據(jù)類型ARRAY一組有序字段,字段的類型必須相同user[1]MAP一組無序的鍵/值對(duì),鍵的類型必須是原子的,值可以是任何類型。同一個(gè)映射的鍵類型必須相同,值類型也必須相同user[‘name’]STRUCT一組命名的字段,字段類型可以不同user.ageHive概述Hive的數(shù)據(jù)類型Hive概述Hive跟傳統(tǒng)數(shù)據(jù)庫的對(duì)比HiveMySQL查詢語言HQLSQL數(shù)據(jù)存儲(chǔ)HDFS本地文件系統(tǒng)執(zhí)行MapReduce執(zhí)行引擎執(zhí)行延遲高低處理數(shù)據(jù)規(guī)模大小數(shù)據(jù)更新不支持支持模式讀模式寫模式日志分析:大部分互聯(lián)網(wǎng)公司使用hive進(jìn)行日志分析,包括百度、淘寶等。統(tǒng)計(jì)網(wǎng)站一個(gè)時(shí)間段內(nèi)的pv、uv多維度數(shù)據(jù)分析海量結(jié)構(gòu)化數(shù)據(jù)離線分析Hive概述Hive應(yīng)用Hive安裝與配置master192.168.128.130NameNode/ResourceManager/slave1slave2slave3192.168.128.131DataNode/NodeManager192.168.128.132DataNode/NodeManager192.168.128.133DataNode/NodeManagerRunJar確認(rèn)已經(jīng)安裝好Hadoop和MySQLHive安裝配置把安裝包上傳到/opt目錄下解壓安裝包到/usr/local/目錄下進(jìn)入到Hive的安裝目錄的conf目錄下,修改hive-env.sh文件Hive安裝配置在MySQL中新建hive數(shù)據(jù)庫Hive安裝配置將hive-site.xml文件上傳到Hive安裝目錄的conf目錄下Hive安裝配置上傳MySQL驅(qū)動(dòng)到Hive安裝目錄的lib目錄下替換Hadoop的jline-0.9.94.jar為jline-2.12.jarHive安裝配置在/etc/profile文件中添加Hive的環(huán)境變量啟動(dòng)HiveHive安裝配置啟動(dòng)Hive之前先啟動(dòng)Hadoop集群Hive安裝配置啟動(dòng)遠(yuǎn)程服務(wù)HiveQL是一種類SQL語言,用于分析存儲(chǔ)在HDFS中的數(shù)據(jù)。不支持事務(wù)及更新操作,延遲比較大。HiveQL語句通過解釋器轉(zhuǎn)換為MapReduce作業(yè)提交到Hadoop集群上。HiveQL執(zhí)行方式:

hive命令行hive–eHive語句hive–fHive腳本Hive表定義HQL語句簡介執(zhí)行shell命令用戶不需要退出hiveCLI就可以執(zhí)行簡單的bashshell命令。只要在命令前加上!并且以分號(hào)(;)結(jié)尾就可以在Hive中使用Hadoop的dfs命令Hive表定義HQL語句簡介Hive表定義數(shù)據(jù)庫操作Hive表定義創(chuàng)建表的語法CREATE[EXTERNAL]TABLE[IFNOTEXISTS][db_name.]table_name[(col_namedata_type[COMMENTcol_comment],...)][PARTITIONEDBY(col_namedata_type,...)][CLUSTEREDBY(col_name,col_name,...)[SORTEDBY(col_name[ASC|DESC],...)]INTOnum_bucketsBUCKETS][ROWFORMATrow_format][STOREDASfile_format][LOCATIONhdfs_path]Hive表定義創(chuàng)建內(nèi)表創(chuàng)建外表創(chuàng)建靜態(tài)分區(qū)表創(chuàng)建動(dòng)態(tài)分區(qū)表創(chuàng)建帶有數(shù)據(jù)的表Hive表分類在train數(shù)據(jù)庫下創(chuàng)建表person,表的結(jié)構(gòu)如下idint類型namestring類型ageint類型Hive表定義創(chuàng)建內(nèi)表創(chuàng)建Hive外部表external_person,指定HDFS的路徑為/user/root/external/person,表的結(jié)構(gòu)如下idint類型namestring類型ageint類型Hive表定義創(chuàng)建外表現(xiàn)有一份數(shù)據(jù)student_part.txt,如下圖所示。該數(shù)據(jù)表示某學(xué)校某年級(jí)ClassA班的成績,數(shù)據(jù)有三個(gè)字段,分別為id,name,score。創(chuàng)建Hive靜態(tài)分區(qū)表student_part,指定分區(qū)字段為班級(jí)classHive表的定義創(chuàng)建靜態(tài)分區(qū)表Hive表的定義創(chuàng)建靜態(tài)分區(qū)表已知數(shù)據(jù)student_part.txt是屬于班級(jí)ClassB的數(shù)學(xué)成績,需要把數(shù)據(jù)歸檔到某個(gè)班級(jí)某個(gè)科目的分區(qū)下,Hive創(chuàng)建靜態(tài)分區(qū)表是如何指定多個(gè)分區(qū)?Hive定義創(chuàng)建靜態(tài)分區(qū)表已知數(shù)據(jù)students.txt記錄了某個(gè)年級(jí)的信息,包括2a,2b,3a,3c這4個(gè)班級(jí)的成績,要求創(chuàng)建動(dòng)態(tài)分區(qū)表,把每個(gè)班級(jí)的成績存儲(chǔ)到對(duì)應(yīng)的分區(qū)里數(shù)據(jù)如圖所示Hive表定義創(chuàng)建動(dòng)態(tài)分區(qū)表第一步:創(chuàng)建普通表student第二步:導(dǎo)入數(shù)據(jù)到student表Hive表定義創(chuàng)建動(dòng)態(tài)分區(qū)表第三步:創(chuàng)建動(dòng)態(tài)分區(qū)表student_dynamicHive表定義創(chuàng)建動(dòng)態(tài)分區(qū)表第四步:導(dǎo)入數(shù)據(jù)到student_dynamicHive表定義創(chuàng)建動(dòng)態(tài)分區(qū)表對(duì)應(yīng)關(guān)系Hive表定義創(chuàng)建動(dòng)態(tài)分區(qū)表創(chuàng)建stu表,從student表查詢數(shù)據(jù)并導(dǎo)入到stu表Hive表定義創(chuàng)建帶有數(shù)據(jù)的表Hive查詢detpno部門編號(hào)dname部門名稱loc位置empnoempno員工編號(hào)ename員工姓名job職位mgr對(duì)應(yīng)的上司編號(hào)hiredate入職日期sal工資commdeptno部門編號(hào)grade工資等級(jí)losal最低工資hisal最高工資dept表emp表salgrade表Hive查詢創(chuàng)建表dept,emp和salgrade將數(shù)據(jù)emp.txt導(dǎo)入到表emp將數(shù)據(jù)dept.txt導(dǎo)入到表dept將數(shù)據(jù)salgrade.txt導(dǎo)入到表salgradeHive查詢Hive查詢HiveQL查詢的基本語法SELECT[ALL|DISTINCT]字段列表(字段1別名,....)FROM表1別名,表2別名,....WHERE條件….GROUPBY分組字段HAVING(組約束條件)ORDERBY排序字段1Asc|Desc,字段2Asc|Desc,.....[CLUSTERBY字段|[DISTRIBUTEBY字段][SORTBY字段]]LIMITM,N;查詢emp中所有的部門編號(hào)查詢emp中相同部門不同職位的部門職位信息Hive查詢distinct去重查詢將部門編號(hào)不為10的所有員工按員工編號(hào)升序排列Hive查詢orderby查詢查詢結(jié)果deptno不包含10,且數(shù)據(jù)是根據(jù)empno降序排序?qū)⑺袉T工先按部門編號(hào)升序,當(dāng)部門一樣時(shí),再按姓名降序排Hive查詢orderby查詢查詢結(jié)果先按部門編號(hào)升序排序,當(dāng)部門一樣時(shí),再按姓名降序排序Hive查詢內(nèi)置函數(shù)內(nèi)置函數(shù)minmaxround其他avgcount查看emp表中平均薪水是多少并對(duì)其四舍五入保留兩位小數(shù)顯示統(tǒng)計(jì)emp表中有多少個(gè)不重復(fù)部門Hive查詢內(nèi)置函數(shù)查詢emp表平均薪水大于2000的部門編號(hào)、平均薪水Hive查詢groupby分組查詢groupby按照其后的字段分組,可使用多個(gè)字段進(jìn)行分組。通常配合having使用,having后面的條件是對(duì)組的約束。同時(shí)SELECT子句中的字段必須是分組中的字段或分組函數(shù)查詢emp表薪水大于2500的員工姓名及所在部門名稱Hive查詢join連接查詢LEFT[OUTER

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論