第一章——hive入門(mén)教程之hello world
1. Hive簡(jiǎn)介
hive
是基于Hadoop
的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表,并提供簡(jiǎn)單的sql
查詢功能,可以將sql
語(yǔ)句轉(zhuǎn)換為MapReduce
任務(wù)進(jìn)行運(yùn)行。 其優(yōu)點(diǎn)是學(xué)習(xí)成本低,可以通過(guò)類SQL
語(yǔ)句快速實(shí)現(xiàn)簡(jiǎn)單的MapReduce
統(tǒng)計(jì),不必開(kāi)發(fā)專門(mén)的MapReduce
應(yīng)用,十分適合數(shù)據(jù)倉(cāng)庫(kù)的統(tǒng)計(jì)分析。
2. Hive的安裝
安裝hive
前請(qǐng)確保已經(jīng)安裝好hadoop
集群,通常使用mysql
作為hive
的元數(shù)據(jù)庫(kù),所以需要安裝mysql
。
我的hadoop
集群是用3臺(tái)虛擬機(jī)搭建的,分別是:
master1.hadoop
slave2.hadoop
slave3.hadoop
hive
只需要在hadoop
集群的一臺(tái)節(jié)點(diǎn)上面安裝即可。安裝步驟通常有以下幾步:
1 下載hive
到本地
我的hadoop
版本是2.7.2
的,這里選擇了hive 2.x
版本。國(guó)內(nèi)阿里的鏡像速度比較快,可以選擇這個(gè)版本(我用的版本是hive-2.1.0
),地址,下載到本地后并解壓。
2 復(fù)制hive-site.xml
- 進(jìn)入
hive-2.1.0\conf
目錄 - 修改
hive-default.xml.template
為hive-site.xml
,這個(gè)文件是hive
的核心配置文件; - 修改
hive-env.sh.template
為hive-env.sh
; - 修改
hive-log4j2.properties.template
為hive-log4j2.properties
; - 修改
hive-exec-log4j2.properties.template
為hive-exec-log4j2.properties
;
3 配置hive-site.xml
1). 修改javax.jdo.option.ConnectionURL
為你自己的mysql
連接,可以在本節(jié)點(diǎn)安裝mysql
,也可以訪問(wèn)其它可訪問(wèn)的mysql
;
注意:這里在master1.hadoop
上面安裝了一個(gè)mysql
,你可以使用你的本地mysql
,只需把主機(jī)ip
信息換一下即可。
2). 修改javax.jdo.option.ConnectionDriverName
為mysql
的連接驅(qū)動(dòng)
3). 修改javax.jdo.option.ConnectionUserName
為mysql
的用戶名root
4). 修改javax.jdo.option.ConnectionPassword
為mysql
的密碼:root
5). 修改hive.exec.local.scratchdir
為指定臨時(shí)路徑
6). 修改hive.downloaded.resources.dir
為指定臨時(shí)路徑
7). 修改hive.querylog.location
為指定臨時(shí)路徑
8). 修改hive.server2.logging.operation.log.location
為指定臨時(shí)路徑
4 配置hive-env.sh
編輯文件vim hive-env.sh
,主要配置以下幾個(gè)值:
5 啟動(dòng)hive
1). 保證有執(zhí)行權(quán)限
2). 添加環(huán)境變量(root
用戶下)
打開(kāi)/etc/profile
,添加如下內(nèi)容
3). 創(chuàng)建hdfs
文件夾
- 啟動(dòng)
hdfs
; - 在
hdfs
系統(tǒng)中,創(chuàng)建/tmp
和/user/hive/warehouse
兩個(gè)文件夾
-
遞歸創(chuàng)建
hdfs
目錄用-p
參數(shù)。
4). 初始化hive
運(yùn)行命令:schematool -dbType mysql -initSchema
查看mysql
,發(fā)現(xiàn)hive
庫(kù)和表都已建好
5). 如果前面步驟配置的沒(méi)有問(wèn)題,命令行輸入hive
命令即可。
hive> show databases;
OK
default
Time taken: 2.184 seconds, Fetched: 1 row(s)
作者:柯廣的網(wǎng)絡(luò)日志
微信公眾號(hào):Java大數(shù)據(jù)與數(shù)據(jù)倉(cāng)庫(kù)