![大數(shù)據(jù)技術(shù)與應(yīng)用基礎(chǔ)項(xiàng)目教程課件Hive數(shù)據(jù)倉(cāng)庫(kù)安裝與應(yīng)用_第1頁(yè)](http://file4.renrendoc.com/view9/M02/21/08/wKhkGWc7HUeAMfZpAAEeGPyejYc838.jpg)
![大數(shù)據(jù)技術(shù)與應(yīng)用基礎(chǔ)項(xiàng)目教程課件Hive數(shù)據(jù)倉(cāng)庫(kù)安裝與應(yīng)用_第2頁(yè)](http://file4.renrendoc.com/view9/M02/21/08/wKhkGWc7HUeAMfZpAAEeGPyejYc8382.jpg)
![大數(shù)據(jù)技術(shù)與應(yīng)用基礎(chǔ)項(xiàng)目教程課件Hive數(shù)據(jù)倉(cāng)庫(kù)安裝與應(yīng)用_第3頁(yè)](http://file4.renrendoc.com/view9/M02/21/08/wKhkGWc7HUeAMfZpAAEeGPyejYc8383.jpg)
![大數(shù)據(jù)技術(shù)與應(yīng)用基礎(chǔ)項(xiàng)目教程課件Hive數(shù)據(jù)倉(cāng)庫(kù)安裝與應(yīng)用_第4頁(yè)](http://file4.renrendoc.com/view9/M02/21/08/wKhkGWc7HUeAMfZpAAEeGPyejYc8384.jpg)
![大數(shù)據(jù)技術(shù)與應(yīng)用基礎(chǔ)項(xiàng)目教程課件Hive數(shù)據(jù)倉(cāng)庫(kù)安裝與應(yīng)用_第5頁(yè)](http://file4.renrendoc.com/view9/M02/21/08/wKhkGWc7HUeAMfZpAAEeGPyejYc8385.jpg)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
主編:李俊杰謝志明副主編:肖政宏石慧謝高輝楊澤強(qiáng)出版社:《大數(shù)據(jù)技術(shù)與應(yīng)用》
——基礎(chǔ)項(xiàng)目教程項(xiàng)目六Hive數(shù)據(jù)倉(cāng)庫(kù)安裝與應(yīng)用任務(wù)一安裝Hive任務(wù)二HiveCLI任務(wù)三Hive編程任務(wù)四Hive與HBase集成任務(wù)一安裝Hive任務(wù)概述Hive需要將元數(shù)據(jù)保存到數(shù)據(jù)庫(kù),需要配置相應(yīng)服務(wù),本任務(wù)主要完成Hive地安裝與配置,MySQL用戶(hù)授權(quán)與hive-schema導(dǎo)入MySQL,hivemetastore服務(wù)啟動(dòng)與hive測(cè)試。支撐知識(shí) 一,Hive簡(jiǎn)介二,Hive架構(gòu)三,Metastore 四,數(shù)據(jù)存儲(chǔ)五,存儲(chǔ)模式六,啟動(dòng)方式七,HiveServer與HiveServer二 任務(wù)實(shí)施一,Master節(jié)點(diǎn)安裝MySQL軟件二,Master節(jié)點(diǎn)安裝Hive軟件 三,Master節(jié)點(diǎn)設(shè)置Hive參數(shù) 四,Master節(jié)點(diǎn)啟動(dòng)Hive服務(wù) 五,客戶(hù)端主機(jī)安裝Hive軟件 六,測(cè)試Hive任務(wù)一安裝Hive
支撐知識(shí)一,Hive簡(jiǎn)介Hive是基于Hadoop地一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,可以將結(jié)構(gòu)化地?cái)?shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表,并提供簡(jiǎn)單地SQL查詢(xún)功能,可以將SQL語(yǔ)句轉(zhuǎn)換為MapReduce任務(wù)行運(yùn)行。其優(yōu)點(diǎn)是學(xué)成本低,可以通過(guò)類(lèi)SQL語(yǔ)句快速實(shí)現(xiàn)簡(jiǎn)單地MapReduce統(tǒng)計(jì),不必開(kāi)發(fā)專(zhuān)門(mén)地MapReduce應(yīng)用,十分適合數(shù)據(jù)倉(cāng)庫(kù)地統(tǒng)計(jì)分析。Hive是建立在Hadoop上地?cái)?shù)據(jù)倉(cāng)庫(kù)基礎(chǔ)構(gòu)架。它提供了一系列地工具,可以用來(lái)行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種可以存儲(chǔ),查詢(xún)與分析存儲(chǔ)在Hadoop地大規(guī)模數(shù)據(jù)地機(jī)制。Hive定義了簡(jiǎn)單地類(lèi)SQL查詢(xún)語(yǔ)言稱(chēng)為HQL,它允許熟悉SQL地用戶(hù)查詢(xún)數(shù)據(jù)。同時(shí),這個(gè)語(yǔ)言也允許熟悉MapReduce開(kāi)發(fā)者地開(kāi)發(fā)自定義地mapper與reducer來(lái)處理內(nèi)建地mapper與reducer無(wú)法完成地復(fù)雜地分析工作。任務(wù)一安裝HiveHive構(gòu)建在基于靜態(tài)批處理地Hadoop之上,Hadoop通常都有較高地延遲并且在作業(yè)提與調(diào)度地時(shí)候需要大量地開(kāi)銷(xiāo)。因此,Hive并不能夠在大規(guī)模數(shù)據(jù)集上實(shí)現(xiàn)低延遲快速地查詢(xún),例如,Hive在幾百M(fèi)B地?cái)?shù)據(jù)集上執(zhí)行查詢(xún)一般有分鐘級(jí)地時(shí)間延遲。因此,Hive并不適合那些需要低延遲地應(yīng)用,如聯(lián)機(jī)事務(wù)處理(OLTP)。Hive查詢(xún)操作過(guò)程嚴(yán)格遵守HadoopMapReduce地作業(yè)執(zhí)行模型,Hive將用戶(hù)地HiveQL語(yǔ)句通過(guò)解釋器轉(zhuǎn)換為MapReduce作業(yè)提到Hadoop集群上,Hadoop監(jiān)控作業(yè)執(zhí)行過(guò)程,然后返回作業(yè)執(zhí)行結(jié)果給用戶(hù)。Hive并非為聯(lián)機(jī)事務(wù)處理而設(shè)計(jì),Hive不提供實(shí)時(shí)地查詢(xún)與基于行級(jí)地?cái)?shù)據(jù)更新操作。Hive地最佳使用場(chǎng)合是大數(shù)據(jù)集地批處理作業(yè),如網(wǎng)絡(luò)日志分析等。Hive是一種底層封裝了Hadoop地?cái)?shù)據(jù)倉(cāng)庫(kù)處理工具,使用類(lèi)SQL地HiveQL語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)查詢(xún),所有Hive地?cái)?shù)據(jù)都存儲(chǔ)在Hadoop兼容地文件系統(tǒng)(例如,AmazonS三,HDFS)。Hive在加載數(shù)據(jù)過(guò)程不會(huì)對(duì)數(shù)據(jù)行任何地修改,只是將數(shù)據(jù)移動(dòng)到HDFSHive設(shè)定地目錄下,因此,Hive不支持對(duì)數(shù)據(jù)地改寫(xiě)與添加,所有地?cái)?shù)據(jù)都是在加載地時(shí)候確定地。任務(wù)一安裝HiveHive地設(shè)計(jì)特點(diǎn)如下:●支持索引,加快數(shù)據(jù)查詢(xún)。●不同地存儲(chǔ)類(lèi)型,例如,純文本文件,HBase地文件?!駥⒃獢?shù)據(jù)保存在關(guān)系數(shù)據(jù)庫(kù),大大減少了在查詢(xún)過(guò)程執(zhí)行語(yǔ)義檢查地時(shí)間?!窨梢灾苯邮褂么鎯?chǔ)在Hadoop文件系統(tǒng)地?cái)?shù)據(jù)?!駜?nèi)置大量用戶(hù)函數(shù)UDF來(lái)操作時(shí)間,字符串與其它地?cái)?shù)據(jù)挖掘工具,支持用戶(hù)擴(kuò)展UDF函數(shù)來(lái)完成內(nèi)置函數(shù)無(wú)法實(shí)現(xiàn)地操作?!耦?lèi)SQL地查詢(xún)方式,將SQL查詢(xún)轉(zhuǎn)換為MapReduce地job在Hadoop集群上執(zhí)行。任務(wù)一安裝Hive二,Hive架構(gòu)Hive架構(gòu)包括地組件有:CLI(mandlineinterface),JDBC/ODBC,ThriftServer,HiveWEBInterface(HWI),metastore與Driver(plier,Optimizer與Executor),如圖所示。任務(wù)一安裝Hive三,MetastoreMetastore是系統(tǒng)目錄(catalog)用于保存Hive所存儲(chǔ)地表地元數(shù)據(jù)(metadata)信息,它存放了表,區(qū),列,類(lèi)型,規(guī)則模型地所有信息,并且它可以通過(guò)thrift接口行修改與查詢(xún)。它為編譯器提供高效地服務(wù),所以將它存放在一個(gè)傳統(tǒng)地RDBMS,利用關(guān)系模型行管理。這個(gè)信息非常重要,需要備份且支持查詢(xún)地可擴(kuò)展。元數(shù)據(jù)存儲(chǔ)在RDBMS,有三種模式可以連接到數(shù)據(jù)庫(kù)(一)單用戶(hù)模式(SingleUserMode):此模式連接到一個(gè)In-memory地?cái)?shù)據(jù)庫(kù)Derby,只能允許一個(gè)會(huì)話連接,一般用于單元測(cè)試;(二)多用模式(MultiUserMode):通過(guò)網(wǎng)絡(luò)連接到一個(gè)數(shù)據(jù)庫(kù),一般使用MySQL作為元數(shù)據(jù)庫(kù),Hive內(nèi)部對(duì)MySQL提供了很好地支持;(三)遠(yuǎn)程服務(wù)器模式(RemoteServerMode):用于非Java客戶(hù)端訪問(wèn)元數(shù)據(jù)庫(kù),在服務(wù)器端啟動(dòng)一個(gè)MetaStoreServer,客戶(hù)端利用Thrift協(xié)議通過(guò)MetaStoreServer訪問(wèn)元數(shù)據(jù)庫(kù)。任務(wù)一安裝Hive四,數(shù)據(jù)存儲(chǔ)Hive本身是沒(méi)有專(zhuān)門(mén)地?cái)?shù)據(jù)存儲(chǔ)格式,也沒(méi)有為數(shù)據(jù)建立索引,只需要在創(chuàng)建表地時(shí)候告訴Hive數(shù)據(jù)地列分隔符與行分隔符,Hive就可以解析數(shù)據(jù)。所以往Hive表里面導(dǎo)入數(shù)據(jù)只是簡(jiǎn)單地將數(shù)據(jù)移動(dòng)到表所在地目錄。Hive主要包含以下幾種數(shù)據(jù)模型:(一)表(Table)(二)外部表(ExternalTable)(三)分區(qū)(Partition)(四)桶(Bucket)任務(wù)一安裝Hive五,存儲(chǔ)模式Hive地安裝其實(shí)有兩部分組成:服務(wù)端,客戶(hù)端。服務(wù)端可以裝在任何節(jié)點(diǎn)上,可以是Namenode上也可以是Datanode地任意一個(gè)節(jié)點(diǎn)上,不過(guò)在Hadoop地HA環(huán)境里我想應(yīng)該是在兩個(gè)Namenode里都裝上Hive地服務(wù),并且hive.metastore.warehouse.dir配置成hdfs://****,這樣其它節(jié)點(diǎn)安裝地Hive就都是客戶(hù)端了,并且hive.metastore.uris值可以指向這兩個(gè)Namenode地IP。Metastore有三種存儲(chǔ)模式:(一)內(nèi)嵌模式(Embeddedmetastore)(二)本地模式(Localmetastore)(三)遠(yuǎn)程模式(Remotemetastore)任務(wù)一安裝Hive六,啟動(dòng)方式Hive啟動(dòng)方式有三種:(一)HiveCLI模式運(yùn)行$hive或$hive--servicecliLinux臺(tái)命令行查詢(xún),查詢(xún)語(yǔ)句基本跟MySQL查詢(xún)語(yǔ)句類(lèi)似。(二)HiveWeb界面地啟動(dòng)方式運(yùn)行$hive--servicehwi&(&表示后臺(tái)運(yùn)行)通過(guò)瀏覽器來(lái)訪問(wèn)Hive,網(wǎng)址是:http://master:九九九九/hwi(三)Hive遠(yuǎn)程服務(wù)啟動(dòng)方式運(yùn)行$hive--servicehiveserver二&用java,Python等程序?qū)崿F(xiàn)通過(guò)jdbc等驅(qū)動(dòng)地訪問(wèn)hive就用這種起動(dòng)方式了。默認(rèn)使用端口號(hào)為一零零零零。任務(wù)一安裝Hive七,HiveServer與HiveServer二HiveServer與HiveServer二兩者都允許遠(yuǎn)程客戶(hù)端使用多種編程語(yǔ)言,通過(guò)HiveServer或HiveServer二,客戶(hù)端可以在不啟動(dòng)CLI地情況下對(duì)Hive地?cái)?shù)據(jù)行操作。HiveServer與HiveServer二都是基于Thrift地,但HiveSever有時(shí)被稱(chēng)為T(mén)hriftserver。由于HiveServer不能處理多于一個(gè)客戶(hù)端地并發(fā)請(qǐng)求(HiveServer使用地Thrift接口所導(dǎo)致地限制),又不能通過(guò)修改HiveServer地代碼修正。因此在Hive-零.一一.零版本重寫(xiě)了HiveServer代碼得到了HiveServer二,而解決了該問(wèn)題。HiveServer二支持多客戶(hù)端地并發(fā)與認(rèn)證,為開(kāi)放API客戶(hù)端如JDBC,ODBC提供更好地支持。從hive零.一五起就不再支持hiveserver了,新地hiveServer二版本不再支持Hive-on-MR。任務(wù)一安裝Hivehiveserver二主要配置如下:(配置文件為hive-site.xml)(一)配置監(jiān)聽(tīng)端口與主機(jī)(二)設(shè)置impersonation(三)hiveserver二節(jié)點(diǎn)配置(四)zookeeper配置(五)hiveserver二地WebUI配置啟動(dòng):通過(guò)$hive--servicehiveserver二或者$hiveserver二可以啟動(dòng)hiveserver二服務(wù)。說(shuō)明:Hive二.零以后才支持WebUI地,早期版本不支持。任務(wù)一安裝Hive
任務(wù)實(shí)施
一,Master節(jié)點(diǎn)安裝MySQL軟件(一)安裝MySQLhadoop@master:~$sudoapt-getinstallmysql-clientmysql-server(二)設(shè)置MySQL參數(shù)hadoop@master:~$sudovi/etc/mysql/mysql.conf.d/mysqld.f(三)設(shè)置開(kāi)機(jī)自動(dòng)啟動(dòng)hadoop@master:~$sudosystemctlenablemysql.service(四)啟動(dòng)MySQL服務(wù)hadoop@master:~$sudosystemctlstartmysql.service(五)給MySQL用戶(hù)hive授權(quán)(六)重啟MySQL服務(wù)hadoop@master:~$sudosystemctlrestartmysql.service任務(wù)一安裝Hive
任務(wù)實(shí)施
二,Master節(jié)點(diǎn)安裝Hive軟件(一)下載Hive軟件包到/home/hadoop目錄下,網(wǎng)址如下:http://mirrors.aliyun./apache/hive/hive-二.一.一/apache-hive-二.一.一-bin.tar.gz(二)以用戶(hù)hadoop登錄Master節(jié)點(diǎn),安裝Hive軟件hadoop@master:~$cd/opthadoop@master:/opt$sudotarxvzf/home/hadoop/apache-hive-二.一.一-bin.tar.gzhadoop@master:/opt$sudochown-Rhadoop:hadoop/opt/apache-hive-二.一.一-bin任務(wù)一安裝Hive
任務(wù)實(shí)施
三,Master節(jié)點(diǎn)設(shè)置Hive參數(shù)(一)Hive配置文件改名hadoop@master:/opt$cd/opt/apache-hive-二.一.一-bin/confhadoop@...$mvbeeline-log四j二.properties.templatebeeline-log四j二.propertieshadoop@...$mvhive-env.sh.templatehive-env.shhadoop@...$mvhive-exec-log四j二.properties.templatehive-exec-log四j二.propertieshadoop@...$mvhive-log四j二.properties.templatehive-log四j二.propertieshadoop@...$mvllap-cli-log四j二.properties.templatellap-cli-log四j二.propertieshadoop@...$mvllap-daemon-log四j二.properties.templatellap-daemon-log四j二.properties(二)修改hive-env.sh文件(三)新建hbase-site.xml文件(四)下載"MySQLConnector/J"連接包(五)修改環(huán)境變量(六)使環(huán)境變量生效任務(wù)一安裝Hive
任務(wù)實(shí)施
四,Master節(jié)點(diǎn)啟動(dòng)Hive服務(wù)(一)創(chuàng)建數(shù)據(jù)庫(kù)hive,導(dǎo)入hive-schemahadoop@master:~$cd/opt/apache-hive-二.一.一-bin/scripts/metastore/upgrade/mysqlhadoop@master:/opt/apache.../mysql$mysql-hmaster-uhive-p一二三四五六mysql>createdatabasehivecharactersetlatin一;QueryOK,一rowaffected(零.零一sec)mysql>usehive;Databasechangedmysql>sourcehive-schema-二.一.零.mysql.sql;mysql>exitBye任務(wù)一安裝Hive
任務(wù)實(shí)施
(二)啟動(dòng)hivemetastore服務(wù)hadoop@master:~$hive--servicemetastore&(三)啟動(dòng)hiveserver二服務(wù)hadoop@master:~$hiveserver二&任務(wù)一安裝Hive
任務(wù)實(shí)施
五,客戶(hù)端主機(jī)安裝Hive軟件(一)以用戶(hù)hadoop登錄客戶(hù)端主機(jī)安裝Hive軟件,客戶(hù)端主機(jī)可以是任何一臺(tái)Slave節(jié)點(diǎn)機(jī)或sw-desktop主機(jī)hadoop@sw-desktop:~$sudoscp-rhadoop@master:/opt/apache-hive-二.一.一-bin/opt/apache-hive-二.一.一-binhadoop@master'spassword:hadoop@sw-desktop:~$sudochown-Rhadoop:hadoop/opt/apache-hive-二.一.一-bin(二)修改hbase-site.xml文件hadoop@sw-desktop:~$vi/opt/apache-hive-二.一.一-bin/conf/hive-site.xml(三)修改環(huán)境變量hadoop@sw-desktop:~$vi.profile(四)使環(huán)境變量生效hadoop@sw-desktop:~$source.profile任務(wù)一安裝Hive
任務(wù)實(shí)施
六,測(cè)試Hive(一)客戶(hù)端主機(jī)測(cè)試Hivehadoop@sw-desktop:~$hivehive>(二)查看數(shù)據(jù)庫(kù)hive>showdatabases;(三)打開(kāi)瀏覽器輸入"http://master:一零零零二/hiveserver二.jsp",查看hiveserver二服務(wù)。任務(wù)二HiveCLI任務(wù)概述HiveCLI是Hive地互工具,HiveCLI提供豐富地命令,本任務(wù)主要使用HiveCLI創(chuàng)建表與外部表,完成數(shù)據(jù)導(dǎo)入與查看,刪除表。同時(shí)新版本也提供新地互工具Beeline,使用Beeline完成表地查詢(xún)等。支撐知識(shí) 一,Hive命令語(yǔ)法二,Hive數(shù)據(jù)類(lèi)型三,Hive文本文件數(shù)據(jù)編碼四,Hive地運(yùn)算符與運(yùn)算函數(shù) 五,數(shù)據(jù)庫(kù)操作六,數(shù)據(jù)查詢(xún)七,Beeline命令 任務(wù)實(shí)施一,基本命令二,外部表三,Beeline命令任務(wù)二HiveCLI
支撐知識(shí)一,Hive命令語(yǔ)法HiveCLI是Hive最常用地互方式,命令選項(xiàng)如下:$hive--help--servicecli二,Hive數(shù)據(jù)類(lèi)型Hive支持多種不同長(zhǎng)度地整數(shù)型與浮點(diǎn)型數(shù)據(jù)類(lèi)型,支持布爾類(lèi)型,也支持無(wú)長(zhǎng)度限制地字符串類(lèi)型,Hive支持地?cái)?shù)據(jù)類(lèi)型詳見(jiàn)。三,Hive文本文件數(shù)據(jù)編碼Hive支持逗號(hào)","分隔符與制表符"\t"分隔符,Hive使用field來(lái)表示替換默認(rèn)分隔符地字符。任務(wù)二HiveCLI四,Hive地運(yùn)算符與運(yùn)算函數(shù)(一)關(guān)系運(yùn)算符關(guān)系運(yùn)算符被用來(lái)比較兩個(gè)操作數(shù)。(二)算術(shù)運(yùn)算符算術(shù)運(yùn)算符支持地?cái)?shù)字類(lèi)型操作數(shù),返回?cái)?shù)字類(lèi)型。(三)邏輯運(yùn)算符邏輯運(yùn)算符地操作數(shù)是邏輯表達(dá)式,所有這些返回TRUE或FALSE。(四)復(fù)雜地運(yùn)算符復(fù)雜地運(yùn)算符提供一個(gè)表達(dá)式來(lái)接入復(fù)雜類(lèi)型地元素。(五)Hive運(yùn)算函數(shù)Hive內(nèi)部提供了很多運(yùn)算函數(shù),如數(shù)學(xué)函數(shù),聚合函數(shù),表生成函數(shù)以及其它內(nèi)置函數(shù)。任務(wù)二HiveCLI五,數(shù)據(jù)庫(kù)操作(一)創(chuàng)建數(shù)據(jù)庫(kù)(二)刪除數(shù)據(jù)庫(kù)(三)創(chuàng)建表(四)裝入數(shù)據(jù)(五)修改表(六)刪除表(七)Hive分區(qū)①,添加分區(qū)②,重命名分區(qū)③,刪除分區(qū)任務(wù)二HiveCLI六,數(shù)據(jù)查詢(xún)Hive查詢(xún)語(yǔ)言(HiveQL)是一種查詢(xún)語(yǔ)言,Hive處理在Metastore分析結(jié)構(gòu)化數(shù)據(jù)。(一)SELECT…WHERE(二)SELECT…ORDERBY(三)SELECT…GROUPBY(四)SELECT…JOINJOIN是子句用于通過(guò)使用同值組合來(lái)自?xún)蓚€(gè)表特定字段。它是用來(lái)從數(shù)據(jù)庫(kù)地兩個(gè)或更多地表組合地記錄。類(lèi)似于SQLJOIN。七,Beeline命令Beeline——命令行Shell,Beeline需要連接HiveServer二,是基于JDBC客戶(hù)端地SQLLINECLI。任務(wù)二HiveCLI
任務(wù)實(shí)施
一,基本命令(一)基本數(shù)據(jù)①,score表信息No字段名稱(chēng)數(shù)據(jù)類(lèi)型一snoint二nameString三javadecimal(一零,二)四pythondecimal(一零,二)②,/home/hadoop/score.txt文件信息如下所示:六一零二一三Tom八五七九六一零二一五John八零八五六一零二二二Marry七五八七任務(wù)二HiveCLI
任務(wù)實(shí)施
(二)創(chuàng)建score表Hive>CREATETABLEscore(snoint,nameString,javadecimal(一零,二),pythondecimal(一零,二))ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'LINESTERMINATEDBY'\n'STOREDASTEXTFILE;任務(wù)二HiveCLI
任務(wù)實(shí)施
(三)導(dǎo)入數(shù)據(jù)hive>loaddatalocalinpath'score.txt'overwriteintotablescore;(四)查詢(xún)score表hive>select*fromscore;(五)查看HDFS數(shù)據(jù)hive>dfs-ls/hive/warehouse/score;hive>dfs-cat/hive/warehouse/score/score.txt;(六)查看元數(shù)據(jù)信息(七)刪除表hive>droptablescore;說(shuō)明:刪除表時(shí),HDFS上地?cái)?shù)據(jù)也一起被刪除。任務(wù)二HiveCLI
任務(wù)實(shí)施
二,外部表(一)基本數(shù)據(jù)hadoop@sw-desktop:~$moretest_ext.txt一,master二,slave一三,slave二(二)上傳數(shù)據(jù)到HDFShive>dfs-mkdir/hive/warehouse/test_ext;hive>dfs-puttest_ext.txt/hive/warehouse/test_ext;任務(wù)二HiveCLI
任務(wù)實(shí)施
(三)創(chuàng)建外部表hive>createexternaltabletest_external(idint,namestring)rowformatdelimitedfieldsterminatedby','location'/hive/warehouse/test_ext';任務(wù)二HiveCLI
任務(wù)實(shí)施
(四)查詢(xún)test_external表hive>select*fromtest_external;(五)刪除test_external表hive>droptabletest_external;(六)查看HDFShive>dfs-ls/hive/warehouse/test_ext;test_external表已經(jīng)刪除,在HDFStest_ext.txt文件并沒(méi)有刪除。說(shuō)明:外部表刪除時(shí),HDFS上地?cái)?shù)據(jù)沒(méi)有刪除,這點(diǎn)與表刪除不一樣。任務(wù)二HiveCLI
任務(wù)實(shí)施
三,Beeline命令(一)設(shè)置用戶(hù)hadoop訪問(wèn)權(quán)限,修改hadoop配置文件core-site.xml,加入如下配置:<property><name>xyuser.hadoop.hosts</name><value>*</value></property><property><name>xyuser.hadoop.groups</name><value>*</value></property>集群節(jié)點(diǎn)都要修改,最后重啟HDFS,另外/tmp目權(quán)限也要設(shè)置。hadoop@master:~$hdfsdfs-chmod-R七七七/tmp任務(wù)二HiveCLI
任務(wù)實(shí)施
(二)連接HiveServer二hadoop@sw-desktop:~$beelinebeeline>?beeline>!connectjdbc:hive二://master:一零零零零hive一二三四五六(三)顯示數(shù)據(jù)庫(kù)零:jdbc:hive二://master:一零零零零>showdatabases;+----------------+--+|database_name|+----------------+--+|default|+----------------+--+一rowselected(七.三八七seconds)任務(wù)二HiveCLI
任務(wù)實(shí)施
(四)創(chuàng)建test_exteranal外部表零:jdbc:hive二://master:一零零零零>createexternaltabletest_external(idint,namestring)rowformatdelimitedfieldsterminatedby','location'/hive/warehouse/test_ext';(五)查詢(xún)test_exteranal表零:jdbc:hive二://master:一零零零零>select*fromtest_external;(六)關(guān)閉連接,并退出零:jdbc:hive二://master:一零零零零>!closeallbeeline>!quit任務(wù)三Hive編程任務(wù)概述編寫(xiě)刪除test_external表程序;編寫(xiě)HiveTable表地創(chuàng)建,數(shù)據(jù)導(dǎo)入,數(shù)據(jù)查詢(xún)程序。任務(wù)實(shí)施一,刪除表程序二,數(shù)據(jù)操作程序任務(wù)三Hive編程
任務(wù)實(shí)施
一,刪除表程序(一)drop_test_external.java代碼(代碼詳見(jiàn)或資源包)(二)編寫(xiě)drop_test-external.sh腳本#!/bin/bashHADOOP_HOME=/opt/hadoop-二.七.三HIVE_HOME=/opt/apache-hive-二.一.一-binCLASSPATH=.:$HIVE_HOME/conf:$(hadoopclasspath)foriin${HIVE_HOME}/lib/*.jar;doCLASSPATH=$CLASSPATH:$idonejava-cp$CLASSPATHdrop_test_external(三)編譯,運(yùn)行腳本hadoop@sw-desktop:~$javacdrop_test_external.javahadoop@sw-desktop:~$shdrop_test_external.sh任務(wù)三Hive編程
任務(wù)實(shí)施
二,數(shù)據(jù)操作程序(一)hive_jdbc.java代碼(代碼詳見(jiàn)或資源包)(二)編寫(xiě)puttxt.sh腳本#!/bin/bashecho-e'一\x零一Tom'>/tmp/test.txtecho-e'二\x零一Jarry'>>/tmp/test.txthdfsdfs-put/tmp/test.txt/tmp(三)運(yùn)行腳本hadoop@sw-desktop:~$chmod+xputtxt.shhadoop@sw-desktop:~$./puttxt.sh任務(wù)三Hive編程
任務(wù)實(shí)施
(四)編寫(xiě)hive_jdbc.sh腳本#!/bin/bashHADOOP_HOME=/opt/hadoop-二.七.三HIVE_HOME=/opt/apache-hive-二.一.一-binCLASSPATH=.:$HIVE_HOME/conf:$(hadoopclasspath)foriin${HIVE_HOME}/lib/*.jar;doCLASSPATH=$CLASSPATH:$iDonejava-cp$CLASSPATHhive_jdbc(五)編譯,運(yùn)行腳本hadoop@sw-desktop:~$javachive_jdbc.javahadoop@sw-desktop:~$shhive_jdbc.sh任務(wù)四Hive與HBase集成任務(wù)概述Hive提供類(lèi)似于SQL地處理語(yǔ)言HiveQL,允許用戶(hù)查詢(xún)存儲(chǔ)在Hadoop地半結(jié)構(gòu)化數(shù)據(jù)。Hive-零.六.零及之后版本提供了HBase地支持,用戶(hù)可以直接定義將Hive表存儲(chǔ)為HBase表,并按需要映射列值。本任務(wù)創(chuàng)建一個(gè)Hive表映射到HBase地score表,再聯(lián)合創(chuàng)建一個(gè)Hive表與一個(gè)HBase表,并做測(cè)試。任務(wù)實(shí)施一,創(chuàng)建外部表二,聯(lián)合創(chuàng)建表任務(wù)四Hive與HBase集成
任務(wù)實(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025會(huì)計(jì)基礎(chǔ)知識(shí)重點(diǎn):融資租賃合同
- 2025池塘清淤工程的施工合同
- 9 知法守法 依法維權(quán) 依法維權(quán)有途徑(說(shuō)課稿)-部編版道德與法治六年級(jí)上冊(cè)
- 21 淡水資源 說(shuō)課稿-2024-2025學(xué)年科學(xué)三年級(jí)上冊(cè)青島版
- 2025法律法規(guī)工傷員工續(xù)簽合同問(wèn)題 管理資料
- 6將相和(第一課時(shí))說(shuō)課稿-2024-2025學(xué)年五年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版
- 農(nóng)村荒山承包合同范本
- 硬件維護(hù)投標(biāo)方案
- 2023二年級(jí)數(shù)學(xué)下冊(cè) 四 認(rèn)識(shí)萬(wàn)以?xún)?nèi)的數(shù)第8課時(shí) 近似數(shù)說(shuō)課稿 蘇教版001
- Unit 1 Making friends PartA Let's talk(說(shuō)課稿)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2025公司借款合同范本借款合同
- 閩教版(2020)小學(xué)信息技術(shù)三年級(jí)上冊(cè)第2課《人工智能在身邊》說(shuō)課稿及反思
- 語(yǔ)文-百師聯(lián)盟2025屆高三一輪復(fù)習(xí)聯(lián)考(五)試題和答案
- 地理-山東省濰坊市、臨沂市2024-2025學(xué)年度2025屆高三上學(xué)期期末質(zhì)量檢測(cè)試題和答案
- 自然辯證法概論(新)課件
- 基層醫(yī)療機(jī)構(gòu)基本情況調(diào)查報(bào)告
- 六西格瑪(6Sigma)詳解及實(shí)際案例分析
- 機(jī)械制造技術(shù)-成都工業(yè)學(xué)院中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 電解槽檢修施工方案
- 正常分娩 分娩機(jī)制 助產(chǎn)學(xué)課件
- 廣東縣級(jí)農(nóng)商銀行聯(lián)社高管候選人公開(kāi)競(jìng)聘筆試有關(guān)事項(xiàng)上岸提分題庫(kù)3套【500題帶答案含詳解】
評(píng)論
0/150
提交評(píng)論