扣丁學(xué)堂大數(shù)據(jù)培訓(xùn)之Hadoop中Hive原理及安裝詳解
2018-09-25 16:46:42
1511瀏覽
今天扣丁學(xué)堂
大數(shù)據(jù)培訓(xùn)老師給大家介紹一下關(guān)于Hadoop中Hive原理及安裝的詳細(xì)介紹,希望對(duì)學(xué)習(xí)大數(shù)據(jù)的同學(xué)有所幫助,下面我們一起來(lái)看一下吧。
Hive是什么(官網(wǎng)概念)
ApacheHive?數(shù)據(jù)倉(cāng)庫(kù)軟件有助于使用SQL讀取,寫(xiě)入和管理駐留在分布式存儲(chǔ)中的大型數(shù)據(jù)集??梢詫⒔Y(jié)構(gòu)投影到已存儲(chǔ)的數(shù)據(jù)上。提供命令行工具和JDBC驅(qū)動(dòng)程序,用于將用戶連接到Hive。
Hive是建立在Hadoop(HDFS/MR)上的用于管理和查詢結(jié)果化/非結(jié)構(gòu)化的數(shù)據(jù)倉(cāng)庫(kù);一種可以存儲(chǔ)、查詢和分析存儲(chǔ)在Hadoop中的大規(guī)模數(shù)據(jù)的機(jī)制;Hive定義了簡(jiǎn)單的類SQL查詢語(yǔ)言,稱為HQL,它允許熟悉SQL的用戶查詢數(shù)據(jù);允許用Java開(kāi)發(fā)自定義的函數(shù)UDF來(lái)處理內(nèi)置無(wú)法完成的復(fù)雜的分析工作;Hive沒(méi)有專門(mén)的數(shù)據(jù)格式(分隔符等可以自己靈活的設(shè)定);
適用場(chǎng)景
Hive不適用于在線事務(wù)處理。它最適用于傳統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)任務(wù)Hive的執(zhí)行延遲比較高,因?yàn)閔ive常用于數(shù)據(jù)分析的,對(duì)實(shí)時(shí)性要求不高;Hive優(yōu)勢(shì)在于處理大數(shù)據(jù),對(duì)于處理小數(shù)據(jù)沒(méi)有優(yōu)勢(shì),因?yàn)閔ive的執(zhí)行延遲比較高。
1、ExecuteQuery
Hive接口,如命令行或WebUI發(fā)送查詢驅(qū)動(dòng)程序(任何數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,如JDBC,ODBC等)來(lái)執(zhí)行。
2、GetPlan
在驅(qū)動(dòng)程序幫助下查詢編譯器,分析查詢檢查語(yǔ)法和查詢計(jì)劃或查詢的要求。
3、GetMetadata
編譯器發(fā)送元數(shù)據(jù)請(qǐng)求到Metastore(任何數(shù)據(jù)庫(kù))。
4、SendMetadata
Metastore發(fā)送元數(shù)據(jù),以編譯器的響應(yīng)。
5、SendPlan
編譯器檢查要求,并重新發(fā)送計(jì)劃給驅(qū)動(dòng)程序。到此為止,查詢解析和編譯完成。
6、ExecutePlan
驅(qū)動(dòng)程序發(fā)送的執(zhí)行計(jì)劃到執(zhí)行引擎。
7、ExecuteJob
在內(nèi)部,執(zhí)行作業(yè)的過(guò)程是一個(gè)MapReduce工作。執(zhí)行引擎發(fā)送作業(yè)給JobTracker,在名稱節(jié)點(diǎn)并把它分配作業(yè)到TaskTracker,這是在數(shù)據(jù)節(jié)點(diǎn)。在這里,查詢執(zhí)行MapReduce工作。
MetadataOps
與此同時(shí),在執(zhí)行時(shí),執(zhí)行引擎可以通過(guò)Metastore執(zhí)行元數(shù)據(jù)操作。
8、FetchResult
執(zhí)行引擎接收來(lái)自數(shù)據(jù)節(jié)點(diǎn)的結(jié)果。
9、SendResults
執(zhí)行引擎發(fā)送這些結(jié)果值給驅(qū)動(dòng)程序。
10、SendResults
驅(qū)動(dòng)程序?qū)⒔Y(jié)果發(fā)送給Hive接口。
Hadoop中實(shí)際應(yīng)用
通過(guò)上面流程解釋,要想在hadoop中使用hive,至少需要安裝hive和Metastore(任何數(shù)據(jù)庫(kù))本文安裝mysql。
1,安裝mysql
下載linux環(huán)境下的mysql安裝包,需要兩個(gè),一個(gè)是server端的,一個(gè)是client端的。
查詢linux機(jī)器上默認(rèn)安裝的mysql或者你以前安裝的mysql,暴力卸載之。
rpm -e mysql-libs-5.xxxxxx_i686 --nodeps
執(zhí)行安裝命令
rpm -ivh Mysql-server-xxx.i386.rpm
rpm -ivh Mysql-client-xxx.i386.rpm
執(zhí)行命令初始化設(shè)置mysql
/usr/bin/mysql_secure_installation
使用客戶端登陸
mysql-uroot-proot
登陸成功后輸入命令:(授予mysql遠(yuǎn)程用戶連接的權(quán)限)
GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'root'WITHGRANTOPTION;
使用遠(yuǎn)程客戶端連接(navicat或AdvancedQueryTools等等工具)我用的navicat,如圖自行領(lǐng)悟。
到這里hive就安裝搭建完成了,以上就是關(guān)于扣丁學(xué)堂大數(shù)據(jù)開(kāi)發(fā)之Hadoop中Hive原理及安裝的詳細(xì)介紹,希望對(duì)同學(xué)們有所幫助,扣丁學(xué)堂提供完整大數(shù)據(jù)學(xué)習(xí)路線內(nèi)容包含Linux&&Hadoop生態(tài)體系、大數(shù)據(jù)計(jì)算框架體系、云計(jì)算體系、機(jī)器學(xué)習(xí)&&深度學(xué)習(xí)等大數(shù)據(jù)視頻教程內(nèi)容,根據(jù)大數(shù)據(jù)學(xué)習(xí)路線圖可以讓你對(duì)學(xué)習(xí)大數(shù)據(jù)需要掌握的知識(shí)有個(gè)清晰的了解,并快速入門(mén)大數(shù)據(jù)開(kāi)發(fā),大數(shù)據(jù)學(xué)習(xí)群:827371640
【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“大數(shù)據(jù)培訓(xùn)資訊”的相關(guān)文章>
標(biāo)簽:
大數(shù)據(jù)培訓(xùn)
大數(shù)據(jù)視頻教程
大數(shù)據(jù)分析培訓(xùn)
大數(shù)據(jù)學(xué)習(xí)視頻
Hadoop生態(tài)圈