《Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)》全套教學(xué)課件_第1頁
《Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)》全套教學(xué)課件_第2頁
《Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)》全套教學(xué)課件_第3頁
《Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)》全套教學(xué)課件_第4頁
《Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)》全套教學(xué)課件_第5頁
已閱讀5頁,還剩512頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)》全套可編輯PPT課件

課程核心知識:Hive安裝、部署、配置、HiveQL語法、HiveShell操作。課程介紹:以能力為本位、以職業(yè)實踐為主線、以項目課程為主體。培養(yǎng)技能目標:Hive安裝、部署、配置能力、HiveQL語法、HiveShell操作。課程簡介本課件是可編輯的正常PPT課件課時分配本課件是可編輯的正常PPT課件基礎(chǔ)篇Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)本課件是可編輯的正常PPT課件比爾·恩門(BillInmon),被稱為數(shù)據(jù)倉庫之父,最早的數(shù)據(jù)倉庫概念提出者,在數(shù)據(jù)庫技術(shù)管理與數(shù)據(jù)庫設(shè)計方面,擁有逾35年的經(jīng)驗。他是“企業(yè)信息工廠”的合作創(chuàng)始人與“政府信息工廠”的創(chuàng)始人。篇章引入本課件是可編輯的正常PPT課件章節(jié)任務(wù)本課件是可編輯的正常PPT課件Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)項目一淺談Hive和數(shù)據(jù)倉庫任務(wù)一初識數(shù)據(jù)倉庫本課件是可編輯的正常PPT課件任務(wù)引入人們在生活中經(jīng)常會遇到這些情況:超市的運營者希望將經(jīng)常被同時購買的商品放在一起,以增加銷售;保險公司想知道購買保險的客戶一般具有哪些特征;醫(yī)學(xué)研究人員希望從已有的千萬份病歷中尋找患某種疾病的病人的共同特征......本課件是可編輯的正常PPT課件任務(wù)概要任務(wù)描述:本任務(wù)主要介紹數(shù)據(jù)倉庫技術(shù)誕生的原因、定義及發(fā)展歷程,對于初學(xué)者來說,要搞清楚數(shù)據(jù)倉庫和數(shù)據(jù)庫之間概念的區(qū)別,了解數(shù)據(jù)倉庫的使用場景。任務(wù)教學(xué)目標:了解數(shù)據(jù)倉庫的概念、特性、發(fā)展史、應(yīng)用現(xiàn)狀了解數(shù)據(jù)倉庫和數(shù)據(jù)庫的區(qū)別。本課件是可編輯的正常PPT課件一數(shù)據(jù)倉庫介紹二Hadoop與數(shù)據(jù)倉庫教學(xué)內(nèi)容本課件是可編輯的正常PPT課件數(shù)據(jù)倉庫介紹知識點一本課件是可編輯的正常PPT課件大規(guī)模查詢緩慢理解困難缺少歷史結(jié)構(gòu)復(fù)雜數(shù)據(jù)臟亂(一)為什么要使用數(shù)據(jù)倉庫傳統(tǒng)數(shù)據(jù)庫分析數(shù)據(jù)時遇到的問題本課件是可編輯的正常PPT課件數(shù)據(jù)倉庫解決上述問題的思路數(shù)據(jù)干凈可復(fù)用,易拓展結(jié)構(gòu)清晰,簡單高速查詢保存歷史數(shù)據(jù)語義化/統(tǒng)一描述(二)數(shù)據(jù)倉庫的解決思路本課件是可編輯的正常PPT課件數(shù)據(jù)倉庫,英文名稱為DataWarehouse,可簡寫為DW或DWH。數(shù)據(jù)倉庫,是為企業(yè)所有級別的決策制定過程,提供所有類型數(shù)據(jù)支持的戰(zhàn)略集合。它是單個數(shù)據(jù)存儲,出于分析性報告和決策支持目的而創(chuàng)建。為需要業(yè)務(wù)智能的企業(yè),提供指導(dǎo)業(yè)務(wù)流程改進、監(jiān)視時間、成本、質(zhì)量以及控制。數(shù)據(jù)倉庫的定義(三)數(shù)據(jù)倉庫的定義本課件是可編輯的正常PPT課件20世紀70年代20世紀80年代19881991數(shù)據(jù)倉庫概念在20世紀70年代出現(xiàn)萌芽階段20世紀80年代中后期,建立了TA2規(guī)范探索階段1988年,IBM公司第一次提出了信息倉庫的概念,并稱之為VITAL規(guī)范雛形階段1991年BillInmon出版了他的第一本關(guān)于數(shù)據(jù)倉庫的書《BuildingtheDataWarehouse》,標志著數(shù)據(jù)倉庫概念的確立。確立階段(四)數(shù)據(jù)倉庫的發(fā)展歷程本課件是可編輯的正常PPT課件數(shù)據(jù)倉庫是面向主題的數(shù)據(jù)倉庫是不可更新的數(shù)據(jù)倉庫是集成的數(shù)據(jù)倉庫是隨時間而變化的(五)數(shù)據(jù)倉庫的特征本課件是可編輯的正常PPT課件Hive是建立在Hadoop上的,所有Hive的數(shù)據(jù)都是存儲在HDFS中的數(shù)據(jù)庫則可以將數(shù)據(jù)保存在本地文件系統(tǒng)中數(shù)據(jù)存儲數(shù)據(jù)格式Hive中沒有定義專門的數(shù)據(jù)格式,由用戶指定,需要指定三個屬性,列分隔符、行分隔符,以及讀取文件數(shù)據(jù)的方法數(shù)據(jù)庫中,存儲引擎定義了自己的數(shù)據(jù)格式。所有數(shù)據(jù)都會按照一定的組織存儲。(六)數(shù)據(jù)倉庫和數(shù)據(jù)庫的區(qū)別本課件是可編輯的正常PPT課件Hive的內(nèi)容是讀多寫少,不支持對數(shù)據(jù)的刪除和修改,數(shù)據(jù)都是在加載時確定好的。數(shù)據(jù)庫中的數(shù)據(jù)通常是需要經(jīng)常修改的。數(shù)據(jù)更新執(zhí)行延遲Hive在查詢數(shù)據(jù)的時候,需要掃描整個表(或分區(qū)),因此延遲較高,因此Hive只有在處理大數(shù)據(jù)時才有優(yōu)勢。數(shù)據(jù)庫在處理小數(shù)據(jù)時執(zhí)行延遲較低。(六)數(shù)據(jù)倉庫和數(shù)據(jù)庫的區(qū)別本課件是可編輯的正常PPT課件Hadoop與數(shù)據(jù)倉庫知識點二本課件是可編輯的正常PPT課件(一)傳統(tǒng)數(shù)倉架構(gòu)與Hadoop架構(gòu)的區(qū)別傳統(tǒng)數(shù)倉架構(gòu)與Hadoop架構(gòu)的區(qū)別傳統(tǒng)數(shù)倉架構(gòu)VSHadoop架構(gòu)GB→TB容量規(guī)模GB→TB→PB以上結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)多樣性結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)存儲集中,計算集中,縱向拓展架構(gòu)方式分布式存儲、分布式計算、橫向拓展數(shù)據(jù)量達到TB級別便達到性能瓶頸處理性能性能較傳統(tǒng)方式提升數(shù)倍至數(shù)十倍側(cè)重數(shù)據(jù)的操作性,兼顧統(tǒng)計報表應(yīng)用價值關(guān)注數(shù)據(jù)的業(yè)務(wù)決策價值,強調(diào)數(shù)據(jù)挖掘和綜合分析系統(tǒng)可靠性完全取決于關(guān)鍵節(jié)點,大數(shù)據(jù)量的備份和恢復(fù)非常難可靠性海量數(shù)據(jù)的3副本冗余備份,關(guān)鍵組件提供HA功能服務(wù)器配置很高,軟件采購成本及后續(xù)服務(wù)費很高經(jīng)濟性運行在普通x86服務(wù)器上,且軟件成本低廉本課件是可編輯的正常PPT課件在本任務(wù)中,我們主要學(xué)習(xí)了以下內(nèi)容:數(shù)據(jù)倉庫介紹為什么要用數(shù)據(jù)倉庫

數(shù)據(jù)倉庫的解決思路數(shù)據(jù)倉庫的定義

數(shù)據(jù)倉庫的發(fā)展歷程數(shù)據(jù)倉庫的特征Hadoop與數(shù)據(jù)倉庫任務(wù)小結(jié)本課件是可編輯的正常PPT課件1、完成項目一任務(wù)一的課后練習(xí)題2、自行查閱大數(shù)據(jù)資料,談?wù)勀銓?shù)據(jù)倉庫的認識作業(yè)本課件是可編輯的正常PPT課件謝謝!THANKS!《Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)》Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)項目一淺談Hive和數(shù)據(jù)倉庫任務(wù)二初識Hive本課件是可編輯的正常PPT課件回顧回顧知識點1

數(shù)據(jù)倉庫的特征回顧知識點2

數(shù)據(jù)倉庫與傳統(tǒng)數(shù)據(jù)庫的區(qū)別本課件是可編輯的正常PPT課件任務(wù)引入隨著數(shù)據(jù)量增加某些查詢需要幾個小時甚至幾天才能完成。當數(shù)據(jù)達到1T時,MySQL進程垮掉??梢灾螏讉€T的數(shù)據(jù),但每天收集用戶點擊流數(shù)據(jù)(每天約400G)時,Oracle開始撐不住了。有效解決了大規(guī)模數(shù)據(jù)的存儲與統(tǒng)計分析的問題,但是MapReduce程序?qū)τ谄胀ǚ治鋈藛T的使用過于復(fù)雜和繁瑣。對外提供了類似于SQL語法的HQL語句數(shù)據(jù)接口,自動將HQL語句編譯轉(zhuǎn)化為MR作業(yè)在Hadoop上執(zhí)行。降低了分析人員使用Hadoop進行數(shù)據(jù)分析的難度。本課件是可編輯的正常PPT課件任務(wù)概要任務(wù)描述:Hive是Hadoop生態(tài)圈中的重要成員,對于每一種技術(shù),我們在學(xué)習(xí)其使用方法前,都有必要去了解它的背景知識,從而形成立體的認知框架,本任務(wù)我們就從背景出發(fā),了解Hive的基本概念。任務(wù)教學(xué)目標:1.了解Hive的基本概念。2.了解Hive的發(fā)展歷程。3.了解Hive的特性和優(yōu)缺點。本課件是可編輯的正常PPT課件一Hive的發(fā)展歷史二Hive架構(gòu)教學(xué)內(nèi)容三Hive特性四Hive優(yōu)缺點本課件是可編輯的正常PPT課件Hive的發(fā)展歷史知識點一本課件是可編輯的正常PPT課件(一)Hive的發(fā)展歷史Hive發(fā)展歷史及版本07年8月始于Facebook13年5月0.11StingerPhase1ORCHiveServer213年10月0.12.0StingerPhase2-ORCimprovement14年4月Hive0.13.0asStingerPhase314年11月Hive0.14.015年2月Hive1.0.015年5月Hive1.2.016年2月Hive2.0.0(添加HPLSQL,LLAP)18年5月Hive3.0.0本課件是可編輯的正常PPT課件Hive架構(gòu)知識點二本課件是可編輯的正常PPT課件(一)Hive架構(gòu)用戶接口:client包括Hive提供的CLI(command-lineinterface)工具,進行交互式執(zhí)行SQL:直接與Driver進行交互。Hive提供JDBC/ODBC驅(qū)動,作為JAVA的API。JDBC通過ThriftServer來接入,然后發(fā)送給Driver。此外,Hive還提供WEBUI接口,可以通過瀏覽器訪問Hive。本課件是可編輯的正常PPT課件(一)Hive架構(gòu)元數(shù)據(jù):Metastore元數(shù)據(jù)是一個獨立的關(guān)系型數(shù)據(jù)庫Hive會在其中保存模式和其他系統(tǒng)的元數(shù)據(jù),并提供三種連接模式:單用戶模式、多用戶模式、遠程服務(wù)器模式。本課件是可編輯的正常PPT課件(一)Hive架構(gòu)HadoopHive的數(shù)據(jù)存儲在HDFS中,針對大部分的HQL查詢請求,Hive內(nèi)部自動轉(zhuǎn)換為MapReduce進行計算。本課件是可編輯的正常PPT課件(一)Hive架構(gòu)驅(qū)動器:Driver通過驅(qū)動器模塊對輸入進行解析編譯,對需求的計算進行優(yōu)化,然后按照指定的步驟執(zhí)行(通常啟動多個MR任務(wù)來執(zhí)行)。本課件是可編輯的正常PPT課件Hive特性知識點三本課件是可編輯的正常PPT課件與Hadoop其他產(chǎn)品完全兼容HiveQL靈活的可擴展性高擴展性和容錯性針對海量數(shù)據(jù)的高性能查詢和分析系統(tǒng)類SQL的查詢語言(一)Hive特性本課件是可編輯的正常PPT課件Hive和傳統(tǒng)RDBMS的區(qū)別知識點四本課件是可編輯的正常PPT課件不能更新、刪除、插入;只能通過文件追加數(shù)據(jù)、重新導(dǎo)入數(shù)據(jù)。不能對列建立索引(但是Hive支持索引的建立,不過不能提高Hive的查詢速度。如果想提高Hive的查詢速度,得運用Hive的分區(qū)、桶)(一)Hive和傳統(tǒng)RDBMS的區(qū)別本課件是可編輯的正常PPT課件(一)Hive和傳統(tǒng)RDBMS的區(qū)別比較項SQLHiveQLANSISQL支持不完全支持更新UPDATE\INSERT\DELETEINSERTOVERWRITE\INTOTABLE事務(wù)支持不支持模式寫模式讀模式數(shù)據(jù)保存塊設(shè)備、本地文件系統(tǒng)HDFS延時低高多表插入不支持支持子查詢完全支持只能用在From子句中視圖UpdatableRead-only可擴展性低高數(shù)據(jù)規(guī)模小大本課件是可編輯的正常PPT課件在本任務(wù)中,我們主要學(xué)習(xí)了以下內(nèi)容:Hive的發(fā)展歷史Hive架構(gòu)Hive特性Hive與傳統(tǒng)RBDMS的區(qū)別任務(wù)小結(jié)本課件是可編輯的正常PPT課件1、完成項目一任務(wù)二的課后練習(xí)題2、自行查閱大數(shù)據(jù)資料,談?wù)勀銓ive的認識作業(yè)本課件是可編輯的正常PPT課件謝謝!THANKS!《Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)》Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)項目二安裝、部署、配置Hive任務(wù)一安裝、部署、配置Hive本課件是可編輯的正常PPT課件回顧知識點1Hive的發(fā)展歷史回顧知識點2Hive架構(gòu)回顧知識點3Hive特性回顧知識點4Hive優(yōu)缺點回顧本課件是可編輯的正常PPT課件任務(wù)引入在前面的任務(wù)中,我們對數(shù)據(jù)倉庫和Hive有了基本的了解,從本任務(wù)開始,我們將開始正式學(xué)習(xí)Hive的安裝配置方法。本課件是可編輯的正常PPT課件任務(wù)概要任務(wù)描述:在前面的《大數(shù)據(jù)集群與部署》課程中,我們已經(jīng)學(xué)習(xí)了如何搭建Hadoop平臺,那么我們首先將Hadoop平臺按照原有的方法搭建好,再進行Hive的安裝配置。任務(wù)教學(xué)目標:掌握Hive的安裝、配置方法。本課件是可編輯的正常PPT課件一Hive下載地址二Hive安裝教學(xué)內(nèi)容三本地文件導(dǎo)入Hive四安裝MySQL五Hive元數(shù)據(jù)配置到MySql六HiveJDBC訪問七Hive常見屬性配置本課件是可編輯的正常PPT課件Hive下載地址知識點一本課件是可編輯的正常PPT課件(一)Hive下載地址官網(wǎng)地址

/本課件是可編輯的正常PPT課件(一)Hive下載地址下載地址:/dist/hive/本課件是可編輯的正常PPT課件Hive安裝知識點二本課件是可編輯的正常PPT課件(一)Hive安裝及配置首先把apache-hive-1.2.1-bin.tar.gz上傳到linux的/opt/software目錄下,可以通過XShell或者其他FTP工具來實現(xiàn)。解壓apache-hive-1.2.1-bin.tar.gz到/opt/module/目錄下面[root@localhostsoftware]$tar-zxvfapache-hive-1.2.1-bin.tar.gz-C/opt/module/1.解壓程序本課件是可編輯的正常PPT課件(一)Hive安裝及配置修改apache-hive-1.2.1-bin.tar.gz的名稱為hive [root@localhostmodule]$mvapache-hive-1.2.1-bin/hive修改/opt/module/hive/conf目錄下的hive-env.sh.template名稱為hive-env.sh[root@localhostconf]$mvhive-env.sh.templatehive-env.sh2.修改文件本課件是可編輯的正常PPT課件(一)Hive安裝及配置配置hive-env.sh文件 [root@localhostconf]$vimhive-env.sh配置HADOOP_HOME路徑(根據(jù)本地hadoop的安裝路徑填寫)exportHADOOP_HOME=/opt/module/hadoop-2.7.1配置HIVE_CONF_DIR路徑exportHIVE_CONF_DIR=/opt/module/hive/conf3.配置文件本課件是可編輯的正常PPT課件(二)Hadoop集群配置啟動hdfs和yarn[root@localhosthadoop]$sbin/start-dfs.sh[root@localhosthadoop]$sbin/start-yarn.sh本課件是可編輯的正常PPT課件(二)Hadoop集群配置在HDFS上創(chuàng)建/tmp和/user/hive/warehouse兩個目錄[root@localhosthadoop]$bin/hadoopfs-mkdir/tmp[root@localhosthadoop]$bin/hadoopfs-mkdir-p/user/hive/warehouse本課件是可編輯的正常PPT課件(二)Hadoop集群配置修改剛才創(chuàng)建的文件夾同組權(quán)限可寫[root@localhosthadoop]$bin/hadoopfs-chmodg+w/tmp[root@localhosthadoop]$bin/hadoopfs-chmodg+w/user/hive/warehouse本課件是可編輯的正常PPT課件(三)初始化元數(shù)據(jù)庫現(xiàn)在我們可以啟動Hive了[root@localhosthive]$bin/hive本課件是可編輯的正常PPT課件(三)初始化元數(shù)據(jù)庫顯示已有數(shù)據(jù)庫hive>showdatabases;使用default數(shù)據(jù)庫。hive>usedefault;本課件是可編輯的正常PPT課件(三)初始化元數(shù)據(jù)庫顯示default數(shù)據(jù)庫中的表。hive>showtables;創(chuàng)建一張表hive>createtablestudent(idint,namestring);本課件是可編輯的正常PPT課件(三)初始化元數(shù)據(jù)庫查看表的結(jié)構(gòu)hive>descstudent;向表中插入數(shù)據(jù)hive>insertintostudentvalues(1000,"ss"); 本課件是可編輯的正常PPT課件(三)初始化元數(shù)據(jù)庫查詢表中數(shù)據(jù)hive>select*fromstudent;退出hivehive>quit;本課件是可編輯的正常PPT課件本地文件導(dǎo)入Hive知識點三本課件是可編輯的正常PPT課件(一)數(shù)據(jù)準備在/opt/module/目錄下創(chuàng)建datas目錄。[root@localhostmodule]$mkdirdatas在/opt/module/datas/目錄下創(chuàng)建student.txt文件并添加數(shù)據(jù),注意以tab鍵間隔。[root@localhostdatas]$vistudent.txt1001zhangshan1002lishi1003zhaoliu本課件是可編輯的正常PPT課件(二)Hive操作啟動hive[root@localhosthive]$bin/hive顯示數(shù)據(jù)庫。hive>showdatabases;本課件是可編輯的正常PPT課件(二)Hive操作使用default數(shù)據(jù)庫。hive>usedefault;顯示default數(shù)據(jù)庫中的表。hive>showtables;本課件是可編輯的正常PPT課件(二)Hive操作刪除已創(chuàng)建的student表。hive>droptablestudent;創(chuàng)建student表,并聲明文件分隔符’\t’hive>createtablestudent(idint,namestring)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t';本課件是可編輯的正常PPT課件(二)Hive操作加載/opt/module/datas/student.txt文件到student數(shù)據(jù)庫表中。hive>loaddatalocalinpath'/opt/module/datas/student.txt'intotablestudent;Hive查詢結(jié)果。hive>select*fromstudent;本課件是可編輯的正常PPT課件(三)遇到的問題Exceptioninthread"main"java.lang.RuntimeException:java.lang.RuntimeException:............Causedby:java.lang.RuntimeException:Unabletoinstantiateorg.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient再打開一個客戶端窗口啟動hive,會產(chǎn)生java.sql.SQLException異常。原因是Metastore默認存儲在自帶的derby數(shù)據(jù)庫中,推薦使用MySQL存儲Metastore。本課件是可編輯的正常PPT課件安裝MySQL知識點四本課件是可編輯的正常PPT課件(一)安裝包準備查看MySQL是否安裝。[root@localhost/]#rpm-qa|grepmysql若MySQL已經(jīng)安裝,先卸載原有的MySQL,注意版本號。[root@localhost/]#rpm-e--nodepsmysql-libs-5.1.73-7.el6.x86_64本課件是可編輯的正常PPT課件(一)安裝包準備使用FTP工具上傳mysql-libs.zip至目錄/opt/software,解壓mysql-libs.zip文件到當前目錄。[root@localhostsoftware]#unzipmysql-libs.zip進入到mysql-libs文件夾下。本課件是可編輯的正常PPT課件(二)安裝MySql服務(wù)器、客戶端安裝MySQL服務(wù)端。[root@localhostmysql-libs]#rpm-ivhMySQL-server-5.6.24-1.el7.x86_64.rpm安裝MySQL客戶端。[root@localhostmysql-libs]#rpm-ivhMySQL-client-5.6.24-1.el7.x86_64.rpm本課件是可編輯的正常PPT課件(二)安裝MySql服務(wù)器、客戶端查看MySQL狀態(tài)。[root@localhostmysql-libs]#servicemysqlstatus啟動MySQL。[root@localhostmysql-libs]#servicemysqlstart本課件是可編輯的正常PPT課件(二)安裝MySql服務(wù)器、客戶端修改密碼。[root@localhostmysql-libs]#/usr//bin/mysqladmin-urootpassword'123456'退出MySQL。mysql>exit本課件是可編輯的正常PPT課件(三)MySQL中user表中主機配置配置只要是root用戶+密碼,在任何主機上都能登錄MySQL數(shù)據(jù)庫。[root@localhostmysql-libs]#mysql-uroot-p123456顯示數(shù)據(jù)庫mysql>showdatabases;本課件是可編輯的正常PPT課件(三)MySQL中user表中主機配置使用MySQL數(shù)據(jù)庫mysql>usemysql;展示MySQL數(shù)據(jù)庫中的所有表。mysql>showtables;本課件是可編輯的正常PPT課件(三)MySQL中user表中主機配置展示user表的結(jié)構(gòu)。mysql>descuser;查詢user表。mysql>selectUser,Host,Passwordfromuser;本課件是可編輯的正常PPT課件(三)MySQL中user表中主機配置修改user表,把Host表內(nèi)容修改為%。mysql>updateusersethost='%'wherehost='localhost';刪除root用戶以外的其他host(根據(jù)自己查詢的結(jié)果填寫)。mysql>deletefromuserwhereHost='hadoop';mysql>deletefromuserwhereHost='';mysql>deletefromuserwhereHost='::1';本課件是可編輯的正常PPT課件(三)MySQL中user表中主機配置刷新。mysql>flushprivileges;退出。mysql>quit;本課件是可編輯的正常PPT課件Hive元數(shù)據(jù)配置到MySql知識點五本課件是可編輯的正常PPT課件(一)拷貝驅(qū)動在/opt/software/mysql-libs目錄下解壓mysql-connector-java-5.1.27.tar.gz驅(qū)動包[root@localhostmysql-libs]#tar-zxvfmysql-connector-java-5.1.27.tar.gz拷貝/opt/software/mysql-libs/mysql-connector-java-5.1.27目錄下的mysql-connector-java-5.1.27-bin.jar到/opt/module/hive/lib/。[root@localhostmysql-connector-java-5.1.27]#cpmysql-connector-java-5.1.27-bin.jar/opt/module/hive/lib/本課件是可編輯的正常PPT課件(二)配置Metastore到MySQL在/opt/module/hive/conf目錄下創(chuàng)建一個hive-site.xml[root@localhostconf]$touchhive-site.xml[root@localhostconf]$vihive-site.xml根據(jù)官方文檔配置參數(shù),拷貝數(shù)據(jù)到hive-site.xml文件中,注意ip地址按照自己的填寫,不要直接復(fù)制。本課件是可編輯的正常PPT課件(二)配置Metastore到MySQL<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://31:3306/metastore?createDatabaseIfNotExist=true</value><description>JDBCconnectstringforaJDBCmetastore</description></property>本課件是可編輯的正常PPT課件(二)配置Metastore到MySQL<property><name>javax.jdo.option.ConnectionUserName</name><value>root</value><description>usernametouseagainstmetastoredatabase</description></property>本課件是可編輯的正常PPT課件(二)配置Metastore到MySQL<property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value><description>passwordtouseagainstmetastoredatabase</description></property>本課件是可編輯的正常PPT課件(三)多窗口啟動Hive測試先啟動MySQL。[root@localhostmysql-libs]$mysql-uroot-p123456查看數(shù)據(jù)庫數(shù)量和名稱。mysql>showdatabases;本課件是可編輯的正常PPT課件(三)多窗口啟動Hive測試先啟動MySQL。[root@localhostmysql-libs]$mysql-uroot-p000000查看數(shù)據(jù)庫數(shù)量和名稱。mysql>showdatabases;本課件是可編輯的正常PPT課件(三)多窗口啟動Hive測試再次打開多個窗口,分別啟動hive。[root@localhosthive]$bin/hive啟動hive后,回到MySQL窗口查看數(shù)據(jù)庫,顯示增加了metastore數(shù)據(jù)庫。mysql>showdatabases;本課件是可編輯的正常PPT課件HiveJDBC訪問知識點六本課件是可編輯的正常PPT課件(一)啟動hiveserver2服務(wù)[root@localhosthive]$bin/hiveserver2HiveServer2(HS2)是一個服務(wù)端接口,使遠程客戶端可以執(zhí)行對Hive的查詢并返回結(jié)果。目前基于ThriftRPC的實現(xiàn)是HiveServer的改進版本,并支持多客戶端并發(fā)和身份驗證。本課件是可編輯的正常PPT課件(二)啟動beeline[root@localhosthive]$bin/beelineBeelineversion1.2.1byApacheHivebeeline>本課件是可編輯的正常PPT課件(三)連接hiveserver2beeline>!connectjdbc:hive2://31:10000(回車)Connectingtojdbc:hive2://hadoop102:10000Enterusernameforjdbc:hive2://31(你的主機ip):10000:hadoop(回車)Enterpasswordforjdbc:hive2://hadoop102:10000:(直接回車)Connectedto:ApacheHive(version1.2.1)Driver:HiveJDBC(version1.2.1)Transactionisolation:TRANSACTION_REPEATABLE_READ本課件是可編輯的正常PPT課件(三)連接hiveserver20:jdbc:hive2://hadoop102:10000>showdatabases;+----------------+--+|database_name|+----------------+--+|default||hive_db2|+----------------+--+本課件是可編輯的正常PPT課件Hive常見屬性配置知識點七本課件是可編輯的正常PPT課件(一)Hive數(shù)據(jù)倉庫位置配置修改default數(shù)據(jù)倉庫原始位置(將hive-default.xml.template如下配置信息拷貝到hive-site.xml文件中)。<property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value><description>locationofdefaultdatabaseforthewarehouse</description></property>本課件是可編輯的正常PPT課件(一)Hive數(shù)據(jù)倉庫位置配置進入hadoop安裝目錄下,配置同組用戶有執(zhí)行權(quán)限:[root@localhosthadoop]#bin/hdfsdfs-chmodg+w/user/hive/warehouse本課件是可編輯的正常PPT課件(二)查詢后信息顯示配置在hive-site.xml文件中添加如下配置信息,就可以實現(xiàn)顯示當前數(shù)據(jù)庫,以及查詢表的頭信息配置。<property><name>hive.cli.print.header</name><value>true</value></property><property><name>hive.cli.print.current.db</name><value>true</value></property>本課件是可編輯的正常PPT課件(二)查詢后信息顯示配置hive>select*fromstudent;OK1001 zhangshan1002 lishi1003 zhaoliuTimetaken:0.398seconds,Fetched:3row(s)hive(default)>select*fromstudent;OKstudent.id 1001 zhangshan1002 lishi1003 zhaoliuTimetaken:0.398seconds,Fetched:3row(s)配置前配置后本課件是可編輯的正常PPT課件(三)Hive運行日志信息配置修改/opt/module/hive/conf/perties.template文件名稱為perties[root@localhostconf]$mvperties.templateperties在perties文件中修改log存放位置hive.log.dir=/opt/module/hive/logsHive的log默認存放在/tmp/root/hive.log目錄下(當前用戶名下),但是由于linux經(jīng)常清理/tmp文件夾下的文件,所以我們將log文件更換存放位置。本課件是可編輯的正常PPT課件(四)參數(shù)配置方式查看當前所有的配置信息hive>set;Hive參數(shù)的配置有三種方式:1.配置文件方式2.命令行參數(shù)方式3.參數(shù)聲明方式本課件是可編輯的正常PPT課件(四)參數(shù)配置方式1.配置文件方式默認配置文件:hive-default.xml用戶自定義配置文件:hive-site.xml本課件是可編輯的正常PPT課件(四)參數(shù)配置方式2.命令行參數(shù)方式啟動Hive時,可以在命令行添加-hiveconfparam=value來設(shè)定參數(shù)。注意:僅對本次hive啟動有效[root@localhosthive]$bin/hive-hiveconfmapred.reduce.tasks=10;查看參數(shù)設(shè)置:hive(default)>setmapred.reduce.tasks;本課件是可編輯的正常PPT課件(四)參數(shù)配置方式3.參數(shù)聲明方式可以在HQL中使用SET關(guān)鍵字設(shè)定參數(shù)。注意:僅對本次hive啟動有效。hive(default)>setmapred.reduce.tasks=100;查看參數(shù)設(shè)置hive(default)>setmapred.reduce.tasks;本課件是可編輯的正常PPT課件本任務(wù)詳細介紹了Hive的安裝和配置步驟,首先安裝Hive,然后配置MySQL,啟動Hiveserver,最后介紹了Hive的常見屬性配置,希望同學(xué)們學(xué)完本任務(wù)后,能在學(xué)習(xí)環(huán)境中配置好Hive,為后面的學(xué)習(xí)做好準備。任務(wù)小結(jié)本課件是可編輯的正常PPT課件1、完成項目二任務(wù)一的課后練習(xí)題作業(yè)本課件是可編輯的正常PPT課件謝謝!THANKS!《Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)》實踐篇Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)本課件是可編輯的正常PPT課件在日常工作中,我們對于Hive使用最多的是HiveQL,HiveQL是一種類似SQL的語言,它與大部分的SQL語法兼容。本篇章開始我們將由淺入深地學(xué)習(xí)HiveQL相關(guān)的知識,以及一些優(yōu)化Hive性能的方法,希望這些技能能讓同學(xué)們?nèi)缁⑻硪?!篇章引入本課件是可編輯的正常PPT課件章節(jié)任務(wù)本課件是可編輯的正常PPT課件Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)項目三解析HiveQL語法任務(wù)一熟悉Hive數(shù)據(jù)類型本課件是可編輯的正常PPT課件任務(wù)引入就像關(guān)系型數(shù)據(jù)庫一樣,Hive的每個列值都有其數(shù)據(jù)類型,也有約束和有效取值范圍。Hive的數(shù)據(jù)類型可以分為基本數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型。這些數(shù)據(jù)類型都是用Java實現(xiàn)的。本課件是可編輯的正常PPT課件任務(wù)概要任務(wù)描述:建表是數(shù)據(jù)庫的基礎(chǔ),本任務(wù)介紹Hive的不同數(shù)據(jù)類型,用于創(chuàng)建表,這些數(shù)據(jù)類型都是用JAVA實現(xiàn)的。任務(wù)教學(xué)目標:熟悉Hive的各種數(shù)據(jù)類型。本課件是可編輯的正常PPT課件一基本數(shù)據(jù)類型二復(fù)雜數(shù)據(jù)類型教學(xué)內(nèi)容本課件是可編輯的正常PPT課件基本數(shù)據(jù)類型知識點一本課件是可編輯的正常PPT課件(一)基本數(shù)據(jù)類型時間戳字符串布爾及二進制整型小數(shù)基本數(shù)據(jù)類型本課件是可編輯的正常PPT課件(一)基本數(shù)據(jù)類型1、整型數(shù)據(jù)類型——整型類型后綴示例TINYINTY10YSMALLINTS10SINT-10BIGINTL10L本課件是可編輯的正常PPT課件(一)基本數(shù)據(jù)類型2、小數(shù)在Hive小數(shù)類型與Java大十進制格式相同。它是用于表示不可改變?nèi)我饩?。語法和示例如下:DECIMAL(precision,scale)decimal(10,0)本課件是可編輯的正常PPT課件(一)基本數(shù)據(jù)類型3、字符串字符串類型的數(shù)據(jù)類型可以使用單引號('')或雙引號(“”)來指定。它包含兩個數(shù)據(jù)類型:VARCHAR和CHAR。Hive遵循C-類型的轉(zhuǎn)義字符。下表描述了各種CHAR數(shù)據(jù)類型:數(shù)據(jù)類型——字符串數(shù)據(jù)類型長度VARCHAR1-65355CHAR255STRING容量可達2GBBIGINTL本課件是可編輯的正常PPT課件(一)基本數(shù)據(jù)類型4、布爾及二進制BOOLEAN表示二元的true或false。BINARY用于存儲變長的二進制數(shù)據(jù)。數(shù)據(jù)類型——布爾及二進制類型描述示例BOOLEANtrue/falseTRUEBINARY字節(jié)數(shù)組無法表示本課件是可編輯的正常PPT課件(一)基本數(shù)據(jù)類型5、時間戳TIMESTAMP則存儲納秒級別的時間戳,同時Hive提供了一些內(nèi)置函數(shù)用于在TIMESTAMP與Unix時間戳(秒)和字符串之間做轉(zhuǎn)換。cast(dateasdate)cast(timestampasdate)cast(stringasdate)cast(dateasstring)本課件是可編輯的正常PPT課件(一)基本數(shù)據(jù)類型MySQL的基礎(chǔ)數(shù)據(jù)類型有哪些?本課件是可編輯的正常PPT課件復(fù)雜數(shù)據(jù)類型知識點二本課件是可編輯的正常PPT課件數(shù)組ARRAYMAPSTRUCTUNION映射結(jié)構(gòu)體聯(lián)合(二)復(fù)雜數(shù)據(jù)類型本課件是可編輯的正常PPT課件(二)復(fù)雜數(shù)據(jù)類型1、數(shù)組在Hive中數(shù)組與在Java中使用的方法相同。Syntax:ARRAY<data_type>本課件是可編輯的正常PPT課件(二)復(fù)雜數(shù)據(jù)類型2、映射映射在Hive類似于Java的映射。Syntax:MAP<primitive_type,data_type>本課件是可編輯的正常PPT課件(二)復(fù)雜數(shù)據(jù)類型3、結(jié)構(gòu)體在Hive中,結(jié)構(gòu)體類似于使用復(fù)雜的數(shù)據(jù)。Syntax:STRUCT<col_name:data_type[COMMENTcol_comment],...>本課件是可編輯的正常PPT課件(二)復(fù)雜數(shù)據(jù)類型4、聯(lián)合聯(lián)合是異類的數(shù)據(jù)類型的集合??梢允褂寐?lián)合創(chuàng)建的一個實例。語法和示例如下UNIONTYPE<int,double,array<string>,struct<a:int,b:string>>{0:1}{1:2.0}{2:["three","four"]}{3:{"a":5,"b":"five"}}{2:["six","seven"]}{3:{"a":8,"b":"eight"}}{0:9}{1:10.0}本課件是可編輯的正常PPT課件數(shù)據(jù)類型轉(zhuǎn)換知識點三本課件是可編輯的正常PPT課件(三)類型轉(zhuǎn)換任意數(shù)值類型都可以轉(zhuǎn)換成更寬的數(shù)據(jù)類型(不會導(dǎo)致精度丟失)或者文本類型。所有的文本類型都可以隱式地轉(zhuǎn)換成另一種文本類型。也可以被轉(zhuǎn)換成DOUBLE或者DECIMAL,轉(zhuǎn)換失敗時拋出異常。BOOLEAN不能做任何的類型轉(zhuǎn)換。時間戳和日期可以隱式地轉(zhuǎn)換成文本類型。也可以使用CAST進行顯式的類型轉(zhuǎn)換,例如CAST('1'asINT),如果轉(zhuǎn)換失敗,CAST返回NULL。Hive的類型層次中,可以根據(jù)需要進行隱式的類型轉(zhuǎn)換,隱式轉(zhuǎn)換的規(guī)則大致可以歸納如下:本課件是可編輯的正常PPT課件在本任務(wù)中,我們主要學(xué)習(xí)了以下內(nèi)容:簡單數(shù)據(jù)類型整型、小數(shù)、字符串、布爾及二進制、時間戳復(fù)雜數(shù)據(jù)類型

數(shù)組、映射、結(jié)構(gòu)體、聯(lián)合數(shù)據(jù)類型轉(zhuǎn)換任務(wù)小結(jié)本課件是可編輯的正常PPT課件1、完成項目三任務(wù)一的課后練習(xí)題2、Hive的數(shù)據(jù)類型和MySQL有哪些區(qū)別?作業(yè)本課件是可編輯的正常PPT課件謝謝!THANKS!《Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)》Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)項目三解析HiveQL語法任務(wù)二解析HiveQLDDL本課件是可編輯的正常PPT課件回顧回顧知識點1Hive基本數(shù)據(jù)類型回顧知識點2Hive復(fù)雜數(shù)據(jù)類型本課件是可編輯的正常PPT課件任務(wù)引入DDL,是對數(shù)據(jù)庫內(nèi)部的對象進行創(chuàng)建,刪除,修改等的操作語言。本任務(wù)將基于數(shù)據(jù)庫和表,講解Hive中DDL語言的用法。本課件是可編輯的正常PPT課件任務(wù)概要任務(wù)描述:本任務(wù)介紹Hive的數(shù)據(jù)定義語言,主要用于在數(shù)據(jù)庫中創(chuàng)建新表或刪除表,以及為表加入索引等,本任務(wù)將講解常用的集中DDL語言,同學(xué)們學(xué)完之后能夠根據(jù)需求創(chuàng)建、修改數(shù)據(jù)庫和表。任務(wù)教學(xué)目標:掌握數(shù)據(jù)庫的創(chuàng)建、查詢、刪除、修改、切換方法。掌握表的創(chuàng)建、展示、查詢、修改、階段、刪除、修改分區(qū)方法。本課件是可編輯的正常PPT課件一基于數(shù)據(jù)庫的DDL操作二基于表的DDL操作教學(xué)內(nèi)容本課件是可編輯的正常PPT課件基于數(shù)據(jù)庫的DDL操作知識點一本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作CreateDatabaseCREATE(DATABASE|SCHEMA)[IFNOTEXISTS]database_name[COMMENTdatabase_comment][LOCATIONhdfs_path][WITHDBPROPERTIES(property_name=property_value,...)];1、創(chuàng)建數(shù)據(jù)庫(CreateDatabase)本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作按照要求創(chuàng)建hive1、hive2、hive3三個數(shù)據(jù)庫:hive>CREATEDATABASEhive1;hive>CREATEDATABASEIFNOTEXISTShive2;>COMMENT"thisishadoopdatabase">WITHDBPROPERTIES("creator"="hadoop","date"="2021-07-30");hive>CREATEDATABASEhive3LOCATION'/db_hive3';1、創(chuàng)建數(shù)據(jù)庫(CreateDatabase)本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作在HDFS中查看數(shù)據(jù)庫文件夾:[root@localhost~]$hadoopfs-ls/user/hive/warehouse在RDBMS中查看數(shù)據(jù)庫相關(guān)信息:mysql>usemetastore;mysql>select*fromDBS\G1、創(chuàng)建數(shù)據(jù)庫(CreateDatabase)本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作下面是官網(wǎng)上為我們列出的語法:SHOW(DATABASES|SCHEMAS)[LIKE'identifier_with_wildcards'];2、查詢數(shù)據(jù)庫(ShowDatabases)本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作查看我們剛才創(chuàng)建的3個數(shù)據(jù)庫:hive>showdatabases;hive>showdatabaseslike'hive1';hive>showdatabaseslike'hive*';2、查詢數(shù)據(jù)庫(ShowDatabases)本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作下面是官網(wǎng)上為我們列出的語法:DESCRIBEDATABASE[EXTENDED]db_name;--describe可簡寫為desc;3、查詢數(shù)據(jù)庫信息(DescribeDatabase)DESCRIBEDATABASEdb_name:查看數(shù)據(jù)庫的描述信息和文件目錄位置路徑信息;EXTENDED:加上數(shù)據(jù)庫鍵值對的屬性信息。本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作查詢剛才創(chuàng)建的3個數(shù)據(jù)庫的信息:hive>descdatabasehive1;hive>descdatabasehive2;hive>descdatabasehive3;hive>descdatabaseextendedhive2;3、查詢數(shù)據(jù)庫信息(DescribeDatabase)本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作下面是官網(wǎng)上為我們列出的語法:DROP(DATABASE|SCHEMA)[IFEXISTS]database_name[RESTRICT|CASCADE];4、刪除數(shù)據(jù)庫(DropDatabase)RESTRICT:默認是restrict,如果該數(shù)據(jù)庫還有表存在則報錯;CASCADE:級聯(lián)刪除數(shù)據(jù)庫(當數(shù)據(jù)庫還有表時,級聯(lián)刪除表后再刪除數(shù)據(jù)庫)--生產(chǎn)盡量不用。本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作下面是官網(wǎng)上為我們列出的語法:ALTER(DATABASE|SCHEMA)database_nameSETDBPROPERTIES(property_name=property_value,...);5、修改數(shù)據(jù)庫信息(AlterDatabase)本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作我們對數(shù)據(jù)庫hive2進行如下修改。hive>alterdatabasehive2setdbproperties("update"="hadoop");hive>alterdatabasehive2setowneruserhive;5、修改數(shù)據(jù)庫信息(AlterDatabase)本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作修改前。hive>descdatabasehive2;OKdb_name comment location owner_name owner_type parametershive2 thisishadoopdatabase hdfs://31:9000/user/hive/warehouse/hive2.db root USER Timetaken:0.054seconds,Fetched:1row(s)5、修改數(shù)據(jù)庫信息(AlterDatabase)本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作修改后。hive(default)>descdatabaseextendedhive2;OKdb_name comment location owner_name owner_type parametershive2 thisishadoopdatabase hdfs://31:9000/user/hive/warehouse/hive2.db hive USER {date=2021-07-30,creator=hadoop,update=hadoop}5、修改數(shù)據(jù)庫信息(AlterDatabase)本課件是可編輯的正常PPT課件(一)基于數(shù)據(jù)庫的DDL操作切換數(shù)據(jù)庫的語法為:USEdatabase_name;如:hive>usehive1;hive>usedefault;6、切換數(shù)據(jù)庫(UseDatabase)本課件是可編輯的正常PPT課件基于表的DDL操作知識點二本課件是可編輯的正常PPT課件(二)基于表的DDL操作下面是官網(wǎng)上為我們列出的語法:CREATE[TEMPORARY][EXTERNAL]TABLE[IFNOTEXISTS][db_name.]table_name后面講詳細講解表創(chuàng)建的參數(shù)。1、創(chuàng)建表(CreateTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作TEMPORARY(臨時表)

CREATETEMPORARYTABLE...1、創(chuàng)建表(CreateTable)如果創(chuàng)建的臨時表表名已存在,那么當前session引用到該表名時實際用的是臨時表,只有drop或rename臨時表名才能使用原始表;臨時表限制:不支持分區(qū)字段和創(chuàng)建索引。本課件是可編輯的正常PPT課件(二)基于表的DDL操作TEMPORARY(臨時表)

hive>CREATETEMPORARYTABLEtemporary_table(>idint,>namestring);1、創(chuàng)建表(CreateTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作ManagedandExternalTables(內(nèi)部表和外部表)

CREATEExternalTABLE...1、創(chuàng)建表(CreateTable)Hive上有兩種類型的表,一種是ManagedTable(默認的),另一種是ExternalTable(加上EXTERNAL關(guān)鍵字)。它倆的主要區(qū)別在于:當我們drop表時,ManagedTable會同時刪去data(存儲在HDFS上)和metadata(存儲在MySQL),而ExternalTable只會刪metadata。本課件是可編輯的正常PPT課件(二)基于表的DDL操作ManagedandExternalTables(內(nèi)部表和外部表)

hive>createexternaltableexternal_table(>idint,>namestring>);1、創(chuàng)建表(CreateTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作COMMENT,ROWFORMAT等其他建表參數(shù)

先看看官網(wǎng)對于ROWFORMAT的描述:DELIMITED[FIELDSTERMINATEDBYchar[ESCAPEDBYchar]][COLLECTIONITEMSTERMINATEDBYchar][MAPKEYSTERMINATEDBYchar][LINESTERMINATEDBYchar][NULLDEFINEDASchar]--(Note:AvailableinHive0.13andlater)|SERDEserde_name[WITHSERDEPROPERTIES(property_name=property_value,property_name=property_value,...)]1、創(chuàng)建表(CreateTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作COMMENT,ROWFORMAT等其他建表參數(shù)

hive>CREATETABLEhive_test>(idintcomment'thisisid',namestringcomment'thisisname')>comment'thisishive_test'>ROWFORMATDELIMITED>FIELDSTERMINATEDBY'\t';1、創(chuàng)建表(CreateTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作CreateTableAsSelect創(chuàng)建表(拷貝表結(jié)構(gòu)及數(shù)據(jù),并且會運行MapReduce作業(yè))CreateTableLike只拷貝表結(jié)構(gòu)1、創(chuàng)建表(CreateTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作下面是官網(wǎng)上為我們列出的語法:SHOWTABLES[INdatabase_name]['identifier_with_wildcards'];SHOWCREATETABLE([db_name.]table_name|view_name);2、展示表(ShowTable與ShowCreateTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作例:hive>showtables;hive>showtables'emp*';hive>showcreatetableemp;2、展示表(ShowTable與ShowCreateTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作下面是官網(wǎng)上為我們列出的語法:DESCRIBE[EXTENDED|FORMATTED]table_name[.col_name([.field_name]|[.'$elem$']|[.'$key$']|[.'$value$'])*];--(Note:Hive1.x.xand0.x.xonly.See"Hive2.0+:NewSyntax"below)3、查詢表信息(DescribeTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作例:hive>descemp;hive>descformattedemp;hive>descEXTENDEDemp;3、查詢表信息(DescribeTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作下面是官網(wǎng)為我們列出的語法:ALTERTABLEtable_nameRENAMETOnew_table_name;ALTERTABLEtable_nameSETTBLPROPERTIEStable_properties;table_properties::(property_name=property_value,property_name=property_value,...)ALTERTABLEtable_nameSETTBLPROPERTIES('comment'=new_comment);4、修改表(AlterTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作例:hive>altertablehive_testrenametonew_hive_test;hive>altertablenew_hive_testSETTBLPROPERTIES("creator"="hadoop","date"="2021-07-31");hive>altertablenew_hive_testSETTBLPROPERTIES('comment'='Thisisnew_hive_testTable');4、修改表(AlterTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作下面是官網(wǎng)上為我們列出的語法:TRUNCATETABLEtable_name[PARTITIONpartition_spec];partition_spec::(partition_column=partition_col_value,partition_column=partition_col_value,...)5、截斷表(TruncateTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作例:hive>truncatetableemp3;注意:truncate不能刪除外部表,因為外部表里的數(shù)據(jù)并不是存放在HiveMetastore中。5、截斷表(TruncateTable)本課件是可編輯的正常PPT課件(二)基于數(shù)據(jù)庫的DDL操作下面是官網(wǎng)上為我們列出的語法:DROPTABLE[IFEXISTS]table_name[PURGE];--(Note:PURGEavailableinHive0.14.0andlater)6、刪除表(DropTable)本課件是可編輯的正常PPT課件(二)基于數(shù)據(jù)庫的DDL操作例:hive>droptableemp3;6、刪除表(DropTable)本課件是可編輯的正常PPT課件(二)基于表的DDL操作添加分區(qū)(AddPartitions)ALTERTABLEtable_nameADD[IFNOTEXISTS]PARTITIONpartition_spec[LOCATION'location'][,PARTITIONpartition_spec[LOCATION'location'],...];partition_spec::(partition_column=partition_col_value,partition_column=partition_col_value,...)7、修改分區(qū)(AlterPartition)本課件是可編輯的正常PPT課件(二)基于表的DDL操作例:創(chuàng)建dept表hive>createtabledept(>deptnoint,>dnamestring,>locstring>)>PARTITIONEDBY(dtstring)>ROWFORMATDELIMITEDFIELDSTERMINATEDBY"\t";7、修改分區(qū)(AlterPartition)本課件是可編輯的正常PPT課件(二)基于表的DDL操作例:導(dǎo)入數(shù)據(jù)hive>loaddatalocalinpath'/opt/module/datas/dept.txt'intotabledeptpartition(dt='2018-08-08');添加分區(qū)hive>ALTERTABLEdeptADDPARTITION(dt='2018-09-09');7、修改分區(qū)(AlterPartition)本課件是可編輯的正常PPT課件(二)基于表的DDL操作刪除分區(qū)(DropPartitions)ALTERTABLEtable_nameDROP[IFEXISTS]PARTITIONpartition_spec[,PARTITIONpartition_spec,...]7、修改分區(qū)(AlterPartition)例:hive>ALTERTABLEdeptDROPPARTITION(dt='2018-09-09');本課件是可編輯的正常PPT課件(二)基于表的DDL操作7、修改分區(qū)(AlterPartition)分區(qū)查詢的語句hive>select*fromdeptwheredt='2018-08-08';查看分區(qū)語句hive>showpartitionsdept;本課件是可編輯的正常PPT課件在本任務(wù)中,我們主要學(xué)習(xí)了以下內(nèi)容:基于數(shù)據(jù)庫的DDL操作創(chuàng)建、查詢、刪除、修改、切換數(shù)據(jù)庫基于表的DDL操作

創(chuàng)建、查詢、修改、截斷、刪除表,修改分區(qū)任務(wù)小結(jié)本課件是可編輯的正常PPT課件1、完成項目三任務(wù)二的課后練習(xí)題2、按照課本的操作步驟,完成數(shù)據(jù)庫和表的DDL操作。作業(yè)本課件是可編輯的正常PPT課件謝謝!THANKS!《Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)》Hive數(shù)據(jù)倉庫應(yīng)用與實戰(zhàn)項目三解析HiveQL語法任務(wù)三解析HiveQLDML本課件是可編輯的正常PPT課件回顧回顧知識點1

基于數(shù)據(jù)庫的HiveQLDDL操作回顧知識點2

基于表的HiveQLDDL操作本課件是可編輯的正常PPT課件任務(wù)引入Hive數(shù)據(jù)操作語言DML是Hive生態(tài)系統(tǒng)中所有數(shù)據(jù)處理的基礎(chǔ)。本課件是可編輯的正常PPT課件任務(wù)概要任務(wù)描述:DML是數(shù)據(jù)操控語言,主要用來對數(shù)據(jù)庫的數(shù)據(jù)進行一些操作,常用的就是INSERT、UPDATE、DELETE等,本任務(wù)介紹Hive的常用DML語言。任務(wù)教學(xué)目標:掌握Hive中數(shù)據(jù)加載、插入、導(dǎo)出以及查詢的方法。本課件是可編輯的正常PPT課件一加載數(shù)據(jù)二插入數(shù)據(jù)教學(xué)內(nèi)容三數(shù)據(jù)導(dǎo)出四查詢操作本課件是可編輯的正常PPT課件加載數(shù)據(jù)知識點一本課件是可編輯的正常PPT課件(一)加載數(shù)據(jù)下面是官網(wǎng)上為我們列出的語法:LOADDATA[LOCAL]INPATH'filepath'[OVERWRITE]INTOTABLEtablename[PARTITION(partcol1=val1,partcol2=val2...)]本課件是可編輯的正常PPT課件(一)加載數(shù)據(jù)LOCAL:表示輸入文件在本地文件系統(tǒng)(Linux),如果沒有加LOCAL,hive則會去HDFS上查找該文件。OVERWRITE:表示如果表中有數(shù)據(jù),則先刪除數(shù)據(jù),再插入新數(shù)據(jù),如果沒有這個關(guān)鍵詞,則直接附加數(shù)據(jù)到表中。PARTITION:如果表中存在分區(qū),可以按照分區(qū)進行導(dǎo)入。本課件是可編輯的正常PPT課件(一)加載數(shù)據(jù)例:使用我們之前創(chuàng)建的emp表本課件是可編輯的正常PPT課件(一)加載數(shù)據(jù)把本地文件系統(tǒng)中的emp.txt文件導(dǎo)入emp表,使用overwrite關(guān)鍵字hive>LOADDATALOCALINPATH'/opt/module/datas/emp.txt'OVERWRITEINTOTABLEemp;本課件是可編輯的正常PPT課件(一)加載數(shù)據(jù)接下來我們再執(zhí)行一次導(dǎo)入操作,但是這次不使用OVERWRITE關(guān)鍵字hive>LOADDATALOCALINPATH'/opt/module/datas/emp.txt'INTOTABLEemp;本課件是可編輯的正常PPT課件(一)加載數(shù)據(jù)使用分區(qū)加載數(shù)據(jù)hive>loaddatalocalinpath'/opt/module/datas/dept.txt'intotabledeptpartition(dt='2018-09-09');本課件是可編輯的正常PPT課件插入數(shù)據(jù)知識點二本課件是可編輯的正常PPT課件(二)插入數(shù)據(jù)下面是官網(wǎng)上為我們列出的語法:INSERTOVERWRITETABLEtablename1[PARTITION(partcol1=val1,partcol2=val2...)[IFNOTEXISTS]]select_statement1FROMfrom_statement;本課件是可編輯的正常PPT課件(二)插入數(shù)據(jù)例:向emp1表中插入emp表中的數(shù)據(jù)hive(default)>createtableemp1likeemp;hive>insertoverwritetableemp1

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論