版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
MeteCloud平臺下基于Hive的
氣象數(shù)據(jù)倉庫構(gòu)建的研究指導(dǎo)老師:學(xué)號:專業(yè):答辯人:目錄研究背景現(xiàn)狀MeteCloud架構(gòu)Hive結(jié)構(gòu)分析氣象日值數(shù)據(jù)處理實現(xiàn)過程測試結(jié)果研究背景現(xiàn)狀
氣象行業(yè)需求:氣象行業(yè)是一個資源極其豐富、數(shù)據(jù)極其龐大的行業(yè)。隨著氣象事業(yè)現(xiàn)代化水平不斷提高,特別是現(xiàn)代氣象業(yè)務(wù)體系不斷地發(fā)展和完善,氣象業(yè)務(wù)、科研和管理活動中累積和收集了大量的氣象信資源。于是氣象存儲成為了氣象行業(yè)的核心需求,這使得建立一個可進行數(shù)據(jù)抽取,轉(zhuǎn)化,加載,共享大量數(shù)據(jù)的氣象信息數(shù)據(jù)庫變得非常有必要而且意義重大。 云計算云存儲的出現(xiàn):云計算是一種近幾年提出的計算模式,是分布式計算、并行計算和網(wǎng)格計算的發(fā)展。云存儲是與云計算同時興起的概念,云計算存儲可以提供無限的廉價存儲和計算能力,利用云計算存儲模式,數(shù)據(jù)存儲在云端,再由專業(yè)的服務(wù)商提供維護,把分布在大量分布式計算機上的存儲內(nèi)存集中在一起成為一個虛擬的資源池,并通過網(wǎng)絡(luò)為用戶提供使用存儲服務(wù),這樣氣象科技人員只要用廉價的終端設(shè)備連接到云存儲上面,就可以分享到所需要的數(shù)據(jù)資料了。 Hive的使用現(xiàn)狀:Hadoop是當(dāng)下流行的分布式計算開源框架,其正被Yahoo,F(xiàn)acebook等公司廣泛使用。在Facebook公司,Hive的倉庫包含了超過700TB的數(shù)據(jù)量和成千上萬的數(shù)據(jù)表,這些數(shù)據(jù)被廣泛用于每月超過200的用戶的報告和AD-hoc分析中。MeteCloud架構(gòu)應(yīng)用層:主要包括氣象服務(wù)、氣象數(shù)據(jù)存儲分析、氣象數(shù)據(jù)轉(zhuǎn)存和集群管理。本文研究Hive對氣象數(shù)據(jù)進行的處理,及其中氣象日值數(shù)據(jù)的轉(zhuǎn)存實現(xiàn)。
用戶層:
指在MeteCloud平臺搭建完成后,各個氣象部門的用戶都可以訪問使用。用戶層中的各個氣象部門不僅可以利用這個平臺中的平臺層進行應(yīng)用開發(fā),還可以直接使用應(yīng)用層進行數(shù)據(jù)存儲和分析。
硬件層:主要由各氣象局提供的存儲和計算服務(wù)的服務(wù)器、高性能計算機和光纖組成。硬件層只有數(shù)據(jù)中心的管理者才可以對其進行管理,其他普通用戶基本是涉及不到的。平臺層:主要由HDFS、MapReduce、Hive、HBase、Zookeerer和AvartarNode機制組成。AvatarNode機制框架圖Hive與Hadoop之間的架構(gòu)圖,Hadoop包括HDFS和MapReduceMeteCloud架構(gòu)平臺層:主要由HDFS、MapReduce、Hive、HBase、Zookeerer和AvartarNode機制組成。用戶接口主要有三個:CLI、Client和WUI。其中最常用的為CLI,CLI啟動的時候,會同時啟動一個Hive副本。Client是Hive的客戶端,用戶連接至HiveServer。在啟動Client模式的時候,需要指出HiveServer所在的節(jié)點,并且在該節(jié)點上啟動HiveServer。WUI是通過瀏覽器訪問Hive的。
Hive結(jié)構(gòu)分析云數(shù)據(jù)存儲方面:Hive將元數(shù)據(jù)存儲在數(shù)據(jù)庫中,如mysql、derby。Hive中的元數(shù)據(jù)包括表名,表的列和分區(qū)及其屬性,表的屬性(是否是外部表等),表的數(shù)據(jù)所在目錄等數(shù)據(jù)。編譯器、編譯器、優(yōu)化器完成HQL查詢語句從詞法分析、語法分析、編譯、優(yōu)化以及查詢計劃的生成。生成的查詢計劃存儲在HDFS中,并在隨后有MapReduce調(diào)用執(zhí)行。Hive的數(shù)據(jù)存儲在HDFS中,大部分的查詢都由MapReduce完成,包含*的查詢,比如“select*fromtbl”是不會生成MapReduce任務(wù)的。Hive提供了外部接口,即用戶接口:命令行(CLI)和webGUI以及應(yīng)用編程接口(API):JDBC(JavaDataBaseConnectivity)java數(shù)據(jù)庫連接接口與ODBC(OpenDatabaseConnectivity)開放數(shù)據(jù)庫互連接口。ThriftServer提供了一個很簡單的API用來執(zhí)行HQL語句。Thrift框架提供了多語言服務(wù),使用一種語言加java編寫的客戶端,也支持其他語言編寫。Thrift客戶端可由不同語言生成,例如用來構(gòu)建通用驅(qū)動的程序如JDBC(java),ODBC(c++),而且用php、perl、python等語言編寫的腳本驅(qū)動也可以生成。Driver掌管HQL語句的生命周期,包括編譯,優(yōu)化和執(zhí)行。Driver用來接收來自thrift服務(wù)器或者其他接口的HQL語句。Driver會創(chuàng)建一個sessionhandle用來統(tǒng)計執(zhí)行時間,輸出行個數(shù)等信息。
ExecutionEngine方面:dirver提交單獨的map-reduce任務(wù)到執(zhí)行引擎(ExecutionEngine),這些任務(wù)來自DAG并以拓撲順序被提交,目前為止,hive都是使用hadoop作為執(zhí)行引擎。
Compiler是由dirver調(diào)用將接受得到的HQL語句轉(zhuǎn)換成map-reduce任務(wù)中的DAG組成的一個策略。Optimizer是優(yōu)化過程。先刪除原有的表,以防表內(nèi)本身存在其他文件數(shù)據(jù),而導(dǎo)致之后輸入的
數(shù)據(jù)有錯誤或者輸出原有文件內(nèi)容,輸入語句為:
droptablemetadata;//刪除原有表氣象日值數(shù)據(jù)處理對氣象日值數(shù)據(jù)的處理,在虛擬機的終端,使用HQL語句,對其實現(xiàn)存儲,加載,共享等功能。再創(chuàng)建表,并設(shè)置分隔符和保存格式,輸入語句:
createtablemetedata(V01000INT,V04001SMALLINT,V04002TINYINT,V04003TINYINT,V10004SMALLINT,V12004SMALLINT,V12021SMALLINT,V12022SMALLINT,V12023SMALLINT,V13004TINYINT,V13003TINYINT,V11002TINYINT,V12231INT,V13241SMALLINT)//創(chuàng)建表
rowformatdelimited
fieldsterminatedby‘\t’//設(shè)置列分隔符為制表符
STOREDASTEXTFILE;//指定以textfile格式存儲加載文件數(shù)據(jù),寫入表格,輸入語句:
Loaddatalocalinpath'/mnt/hgfs/share/data1.txt'//加載本地數(shù)據(jù)
overwriteintotablemetedata;//將文件流直接插入文件描述表,顯示表內(nèi)數(shù)據(jù)格式說明,輸入語句:
describemetedata;
查詢表,搜索顯示數(shù)據(jù),輸入語句:
select*fromdatamete;
統(tǒng)計數(shù)據(jù)總量,后臺技術(shù)與MapReduce相互結(jié)合,本身若只有Hive工具,其工作并不是很完善,但是結(jié)合了MapReduce處理函數(shù)數(shù)據(jù)的功能,Hive處理數(shù)據(jù)統(tǒng)計數(shù)據(jù)等都是相當(dāng)不錯的,即輸入語句:
selectcount(1)frommetedata;整個后臺的運行過程:向Hive發(fā)出命令,Hive提取HDFS中需要進行處理的數(shù)據(jù),并將已經(jīng)經(jīng)過轉(zhuǎn)換的基于列存儲的格式數(shù)據(jù)映射到Hive中的二維表格式中,同時按照映射規(guī)則完成映射。除此根據(jù)處理的數(shù)據(jù)類型,Hive也會在HDFS上建立一個存儲分析結(jié)果的表格,并將這個表格也存儲在Hive中,即在Hive上映射出一張空白二維表用來存儲。Hive對數(shù)據(jù)進行處理,將處理完成的數(shù)據(jù)存入剛在Hive上建立的空白二維表中,最后Hive將存寫分析結(jié)果數(shù)據(jù)的二維表再轉(zhuǎn)換成HDFS上基于列存儲格式的數(shù)據(jù)存儲。最后再轉(zhuǎn)換成用戶所需的格式的數(shù)據(jù)文件顯示。安裝VMware,在其下安裝Ubuntu,設(shè)置與主機共享文件夾實現(xiàn)過程然后安裝ssh,配置為免密碼登陸安裝JDK,配置/etc/profile文件內(nèi)容,使得虛擬機自動啟動java設(shè)置虛擬機網(wǎng)絡(luò)連接為NAT,只要將主機上V1和V8設(shè)為自動獲取IP,虛擬機即可訪問網(wǎng)絡(luò)I/O適配器選擇了SCSILSI虛擬硬盤設(shè)備,XP系統(tǒng)建議選擇IDE設(shè)置免密碼登陸,是方便集群間相互的訪問。設(shè)置集群的時候,將shh生成的id_rsa.pub文件拷貝到每個虛擬機的hadoop上遇到問題:java版本有兩個,每次執(zhí)行都提示需要選擇解決辦法:創(chuàng)建java的鏈接,只是這個不能永久改變,需要每次都創(chuàng)建;刪除一個版本的java,刪除install下載的,因為不知道安裝目錄實現(xiàn)過程安裝Hadoop,配置hadoop安裝目錄下conf文件夾中的hadoop-env.sh文件、core-site.xml文件、hadfs-site.xml文件和mapred-site.xml文件。遇到問題:第一次安裝成功兩個網(wǎng)址都能打開,但是第二次登陸打開時只能打開50030而打不開50070解決辦法:所有文件配置無誤,無須更改,重新格式化文件系統(tǒng),再啟動更改完畢后,格式化文件系統(tǒng),再啟動所有進程,若能打開localhost:50030和50070即說明hadoop安裝成功。實現(xiàn)過程安裝mysql,創(chuàng)建mysql用戶和組使用-r參數(shù)使得mysql不需要登錄密碼登陸然后改變mysql安裝目錄的所有者為mysql安裝共享庫libaio1,再使用mysql初始化授權(quán)表(第一次安裝設(shè)置)不安裝共享庫就初始化授權(quán)會出現(xiàn)錯誤,打不開共享文件遇到問題:進行初始化授權(quán)表時找不到命令解決辦法:檢查mysql壓縮包,發(fā)現(xiàn)破損,進行更換再安裝配置mysql服務(wù),創(chuàng)建mysql鏈接和mysql.server鏈接,設(shè)置開機自動啟動mysql.server服務(wù)要先創(chuàng)建mysql鏈接再創(chuàng)建mysql.server鏈接,不然找不到mysql安裝目錄遇到問題:鏈接已經(jīng)創(chuàng)建解決辦法:刪除文件再創(chuàng)建鏈接,若是mysql鏈接創(chuàng)建了,刪除mysql安裝目錄,然后重新安裝一遍。實現(xiàn)過程安裝hive,配置/home/虛擬機名/.bashrc文件,添加hadoop和home的安裝目錄再將hive目錄下conf文件夾中的文件進行復(fù)制更名用于備份使用配置hive-site.xml文件Site文件中配置hive存放系統(tǒng)目錄,網(wǎng)絡(luò)端口接口,運行程序名以及用戶名和密碼最后將mysql-connector-java-5.1.22-bin.jar放在hive的lib文件夾下遇到問題:最后的文件與lib中其他文件的權(quán)限不同解決辦法:使用chmod修改這個文件的權(quán)限遇到問題:最后權(quán)限更改后,再次登錄本身權(quán)限也被更改,無法使用su命令解決辦法:暫時使用/bin/su代替,進入root權(quán)限后一切正常照舊實現(xiàn)過程安裝eclipse,再配置eclipse的general和advanced標(biāo)簽在編輯完general標(biāo)簽后,先重啟下eclipse再編輯advanced標(biāo)簽,不然advanced中hadoop.job.ugi屬性看不到將主機與虛擬機相互ping通,在windows下配置hosts文件,添加集群上hadoop的ip地址,修改自己的管理員用戶名把hive下lib中的所有jar包以及mysql-java和hadoop-core的jar包都復(fù)制到eclipse項目的lib目錄中,Java的類并不能識別hadoop和hive的類在集群上,用namenode啟動hive服務(wù),最后編寫完程序在
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子設(shè)備交易合同案例
- 悔過自責(zé)重建信任
- 珍愛和平和諧相處
- 香蕉采購合同示例
- 版企業(yè)借款合同模式
- 地毯招標(biāo)廢標(biāo)原因文件
- 建筑施工土方填筑招標(biāo)
- 戶外垃圾桶設(shè)計招標(biāo)
- 電子招投標(biāo)操作技巧
- 大樓租賃合同書
- 2024年度土建升壓站工程勞務(wù)分包合同:就土建升壓站工程勞務(wù)分包事項達成一致3篇
- 廣東省廣州荔灣區(qū)2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試卷(含答案)
- 醫(yī)藥高等數(shù)學(xué)知到智慧樹章節(jié)測試課后答案2024年秋浙江中醫(yī)藥大學(xué)
- ICU患者外出檢查的護理
- 校地結(jié)對共建合作協(xié)議書(2篇)
- 重慶育才中學(xué)教育集團 2024-2025學(xué)年上學(xué)期八年級期中考試數(shù)學(xué)試題
- 零信任環(huán)境下的網(wǎng)絡(luò)安全風(fēng)險管理優(yōu)化
- 國家開放大學(xué)電大??啤督ㄖこ添椖抗芾怼?024期末試題及答案
- (完整版)信息安全課件
- 2024年“七五”普法考試題庫及答案(共100題)
- 2025年全年日歷表(每月一張共12張)
評論
0/150
提交評論