




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
6.1Hadoop2.0大家族概述6.2ZooKeeper6.3Hbase6.4Pig6.5Hive6.6Oozie6.7Flume6.8Mahout6.9小結6.5Hive6.5.1Hive簡介6.5.2Hive入門是什么HiveHive是一個構建在Hadoop上的數據倉庫框架,它起源于Facebook內部信息處理平臺。設計目的讓Facebook內精通SQL〔但Java編程相對較弱〕的分析師能夠以類SQL的方式查詢存放在HDFS的大規模數據集。46.5HiveHive根本框架Hive包含Shell環境、元數據庫、解析器和數據倉庫等組件,其體系結構如下圖:用戶接口Thrift效勞器元數據庫解析器Hadoop包括HiveShell、Thrift客戶端、Web接口。當Hive以效勞器模式運行時,作為Thrift效勞器,供客戶端連接。Hive元數據〔如表信息〕的集中存放地。將Hive語句翻譯成MapReduce操作。底層分布式存儲和計算引擎。5Hive各種訪問接口BeeLineCL1HiveCL1JDBC客戶端ODBC客戶端Web接口Thrift效勞器解釋器編譯器優化器執行器MapReduce數據倉庫HDFSHadoop無數據庫6.5HiveHive根本框架6Hive的SQL稱為HiveQL,它與大局部的SQL語法兼容,但是并不完全類似SQL。6.5HiveHive語法數據類型根本類型:數值型、布爾型和字符串復雜類型:ARRAY、MAP和STRUCT數據類型HiveQL操作符類似于SQL操作符Hive提供了數理統計、字符串操作、條件操作等大量的內置函數用戶還可以自己編寫函數6.5Hive6.5.1Hive簡介6.5.2Hive入門86.5HiveHive部署部署模式內嵌模式本地模式完全遠程模式9此模式是安裝時的默認部署模式,此時元數據存儲在一個內存數據庫Derby中,并且所有組件〔如數據庫、元數據效勞〕都運行在同一個進程內。這種模式下,一段時間內只支持一個活動用戶。但這種模式配置簡單,所需機器較少,限于集群規模,本節Hive部署即采用這種模式。6.5HiveHive部署DriveMetastoreDerbyHive服務進程內嵌模式10DriveMetastoreDBHive服務進程6.5HiveHive部署此模式是Hive元數據效勞依舊運行在Hive效勞主進程中,但元數據存儲在獨立數據庫中〔可以是遠程機器〕,當涉及元數據操作時,Hive效勞中的元數據效勞模塊會通過JDBC和存儲于DB里的元數據數據庫交互。本地模式116.5HiveHive部署完全遠程模式BeelineCL1HiveCL1Hive服務進程RemoteMetastoreHcatalogDB元數據效勞以獨立進程運行,并且元數據存儲在一個獨立的數據庫里。126.5HiveHive部署內嵌模式部署〔1〕下載并安裝Hive。[root@iClient~]#sudoyuminstallhive〔2〕HDFS里新建Hive存儲目錄。[root@iClient~]#sudo–uhdfshdfsdfs–mkdir/user/hive#HDFS里新建Hive存儲目錄[root@iClient~]#sudo–uhdfshdfsdfs–chmod–R1777/user/hive#為目錄設置適當權限只需上述兩步就可以直接使用Hive了,當然,也可以使用jps命令查看Hive進程。13Hive提供了強大的訪問接口,從以下圖中即可看出Hive提供的諸多接口,此外也可以通過Hcatalog、Pig、BeeLine等訪問Hive。6.5HiveHive接口Hive各種訪問接口BeeLineCL1HiveCL1JDBC客戶端ODBC客戶端Web接口14按要求完成問題:進入Hive命令行接口,獲取Hive函數列表并單獨查詢count函數用法。在Hive里新建member表,并將表6-6中的數據載入Hive里的member表中。查詢member表中所有記錄,查詢member表中gender值為1的記錄,查詢member表中gender值為1且age為22的記錄,統計member中男性和女性出現次數。試比較Pig中“單詞計數〞和“統計男女出現次數〞的異同點。6.5HiveHive接口【例6-5】156.5HiveHive接口問題①較為簡單,參考下面兩條命令即可,注意此題所有操作都在iClient上執行,為方便載入數據,本次使用root用戶。[root@iClient~]#Hive
#進入Hive命令行hive>showfunctions;
#獲取Hhive所有函數列表hive>describefunctioncount;
#查看count函數用法對于問題②,我們首先為表準備數據,即在iClient目錄“/root〞下新建文件memberData并寫入如下內容,注意記錄間為換行符,字段間以Tab鍵分割。202101aa021e0p3m202102bb122e1p2l202103cc122e2p1m166.5HiveHive接口hive>showtables;#查看當前Hive倉庫中所有表〔以確定當前無member表〕hive>createtablemember(idint,namestring,gendertinyint,agetinyint,edustring,profstring,incomestring)rowformatdelimitedfieldsterminatedby'\t';#使用適宜字段與類型,新建member表hive>showtables;#再次查看,將顯示member表hive>loaddatalocalinpath'/root/memberData'intotablemember;#將本地文件memberData載入HDFShive>select*frommember;#查看表中所有記錄hive>select*frommemberwheregender=1;#查看表中gender值為1的記錄hive>select*frommemberwheregender=1ANDage=23;#查看表中gender值為1且age為23的記錄hive>selectgender,count(*)frommembergroupbygender;#統計男女出現總次數hive>droptablemember;#刪除member表hive>quit;#退出Hive命令行接口6.1Hadoop2.0大家族概述6.2ZooKeeper6.3Hbase6.4Pig6.5Hive6.6Oozie6.7Flume6.8Mahout6.9小結6.6Oozie6.6.1Oozie簡介6.6.2Oozie入門19由于需要存儲工作流信息,為提供高可靠性,確保任務配置不喪失,Oozie內部使用數據庫來存儲工作流相關信息,用戶可以使用Oozie內嵌的Derby數據庫,也可以使用MySQL、PostgreSQL、Oracle等數據庫6.6OozieOozie簡介Oozie的主要功能包括:組織各種工作流以規定方式執行工作流托管工作流PigHive定時任務定數任務數據促發任務命令行接口任務失敗時的通知機制郵件通知6.6Oozie6.6.1Oozie簡介6.6.2Oozie入門216.6OozieOozie部署Oozie相當于Hadoop的一個客戶端,因此集群中只有一臺機器部署Oozieserver端即可,由于可以有任意多個客戶端連接Oozie,故每個客戶端上都須部署Oozieclient,本節選擇在cMaster上部署Oozieserver,在iClient上部署Oozieclient。[root@cMaster~]#sudoyuminstalloozie#cMaster上以root權限執行,部署Oozie效勞端1〕部署Oozie效勞端[root@iClient~]#sudoyuminstalloozie-client2〕部署Oozie客戶端223〕配置Oozie#exportCATALINA_BASE=/usr/lib/oozie/oozie-server-0.20exportCATALINA_BASE=/usr/lib/oozie/oozie-server6.6OozieOozie部署<property><name>xyuser.oozie.groups</name><value>*</value></property><property><name>xyuser.oozie.hosts</name><value>*</value></property>$forxin`cd/etc/init.d;lshadoop-*`;doservice$xrestart;done;#除了iCleint外,其他機器都要執行修改/etc/oozie/conf/oozie-env.sh中的CATALINA_BASE屬性值在/etc/hadoop/conf/core-site.xml文檔里configuration標簽間參加如下內容下面是重啟Hadoop集群的命令:236.6OozieOozie部署[root@cMaster~]#sudo-uoozie/usr/lib/oozie/bin/ooziedb.shcreate–run#僅cMaster執行4〕創立Oozie數據庫模式[root@cMaster~]#cd/var/lib/oozie/5〕配置OozieWeb頁面Oozie的Web界面用到第三方包,但由于版權原因ext-2.2并未打包進Oozie,事實上開啟Oozieserver不需要開啟OozieWeb界面,但如果想在開啟Oozieserver同時也開啟OozieWeb界面,那么必須下載并將其解壓到目錄246.6OozieOozie訪問接口[root@cMaster~]#sudo-uhdfshdfsdfs-mkdir/user/oozie[root@cMaster~]#sudo-uhdfshdfsdfs-chownoozie:oozie/user/oozie[root@cMaster~]#mkdir/tmp/ooziesharelib[root@cMaster~]#cd/tmp/ooziesharelib[root@cMaster~]#sudo-uooziehdfsdfs-putshare/user/oozie/share6〕將Oozie常用Jar包導入HDFS7〕開啟Oozie效勞[root@cMaster~]#sudoserviceooziestart8〕查看Oozie效勞[root@iClient~]#oozieadmin-oozie://cMaster:11000/oozie-status256.6OozieOozie訪問接口按要求完成問題:進入Oozie客戶端,查看常用命令。運行OozieMR例如程序。運行OoziePig、Hive等例如。編寫workflow.xml,完成一次WordCount。編寫workflow.xml,完成兩次WordCount,且第一個WC的輸出為第二個WC的輸入。Oozie最常用的是命令行接口,它的Web接口只可以看到Oozie托管的任務,不可以配置作業。【例6-6】266.6OozieOozie訪問接口對于問題①在iClient上執行下述命令即可,用戶可以是ro
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CCMA 0107-2020移動式升降工作平臺排氣煙度臂架式升降工作平臺測量方法
- T/CBMMAS 007-2022 T/BFTA 02-2022適老家具通用技術要求
- T/CBMCA 020-2021地鋪石瓷磚
- T/CAQI 243-2021建筑智慧照明系統技術要求
- T/CAQI 201-2021小型新風系統用風量分配器
- T/CAQI 127-2020空氣凈化器家居環境下甲醛凈化性能評價規范
- ccat考試題及答案
- 共性判斷考試題及答案
- 單招三類考試題及答案
- 道德標準面試題及答案
- 2025年上半年酒店市場營銷部工作總結與下半年計劃
- 多元金融行業:期貨行業專題報告:行業邏輯趨完善乘風破浪終有時311mb
- 2025屆山東省濟南市高三二模歷史試題(含答案)
- 第七單元 第1課時 從不同位置觀察物體(大單元教學設計) 一年級數學下冊 (蘇教版2025)
- 2025年環境管理體系審核員考試試題及答案
- 安徽省六安市2024-2025學年八年級(下)期中歷史試卷(含答案)
- 航運業人力資源開發與管理考核試卷
- 福建省三明市2025年普通高中高三畢業班五月質量檢測物理試卷及答案(三明四檢)
- 7.1 觀察物體(課件)-2024-2025學年蘇教版數學一年級下冊
- 早產兒試題及答案多選
- 2025年上海市靜安區初三二模語文試卷(含答案)
評論
0/150
提交評論