1. 程式人生 > >centos6.5安裝hive-1.2.2

centos6.5安裝hive-1.2.2

開始安裝

下載地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-1.2.2/

上傳到/opt/soft 目錄,然後解壓 tar -zxvf apache-hive-1.2.2-bin.tar.gz 

配置hive環境變數 vim /etc/profile 新增如下內容

export HIVE_HOME=/opt/soft/apache-hive-1.2.2-bin
export PATH=$HIVE_HOME/bin:$PATH

重新整理環境變數
source /etc/profile

注意:hive啟動之前先啟動hdfs和yarn ,命令  start-dfs.sh  和start-yarn.sh

hadoop安裝參照另一篇部落格https://blog.csdn.net/xiaobao5214/article/details/84315394

單機模式配置 hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/opt/data/hive/warehouse</value>
</property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.2.14:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
</configuration>

單機模式啟動命令: hive

即可進入hive命令模式

遠端模式配置hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/opt/data/hive/warehouse</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.2.14:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.2.14:9083</value>
</property>
</configuration>

hive遠端模式啟動時首先啟動hive元資料服務   hive --service metastore

然後輸入 hive 即可進入遠端模式命令列

hive常見操作

列出所有資料庫 

hive>  show databases;  

切換到 default庫 

hive>  use default;

列出所有表 

hive>  show tables;

建立表範例  person表

hive>  create table person(id  int,name  string,age int,sex string) row format delimited fields terminated by '\t';

編輯要匯入的person資料檔案  

vim /home/data/person.txt

1001    小寶        26    男
1002    小紅        10    女
1003    小藍        17    男
1004    小綠        23    男
1005    小紫        25    女
1006    小白        22    女
1007    小青        23    男
1008    小黑        19    男


匯入person.txt 到hive倉庫 (如需匯入多個檔案且在同一資料夾,沒有多餘檔案,可以不指定具體檔案,只寫資料夾路徑即可)

hive> load data local inpath '/home/data/person.txt' overwrite into table person;

查詢person表所有資料按年級升序

hive> select * from person order by age asc;
Query ID = root_20181129141413_8a4d30e2-81b9-409e-a147-63710b8e37d8
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapreduce.job.reduces=<number>
Starting Job = job_1543455989290_0003, Tracking URL = http://hadoop4:8088/proxy/application_1543455989290_0003/
Kill Command = /opt/soft/hadoop-2.6.0/bin/hadoop job  -kill job_1543455989290_0003
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
2018-11-29 14:14:31,023 Stage-1 map = 0%,  reduce = 0%
2018-11-29 14:14:42,383 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 2.52 sec
2018-11-29 14:14:54,520 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 4.55 sec
MapReduce Total cumulative CPU time: 4 seconds 550 msec
Ended Job = job_1543455989290_0003
MapReduce Jobs Launched: 
Stage-Stage-1: Map: 1  Reduce: 1   Cumulative CPU: 4.55 sec   HDFS Read: 6488 HDFS Write: 224 SUCCESS
Total MapReduce CPU Time Spent: 4 seconds 550 msec
OK
1002	小紅	10	女
1003	小藍	17	男
1008	小黑	19	男
1006	小白	22	女
1007	小青	23	男
1004	小綠	23	男
1005	小紫	25	女
1001	小寶	26	男
Time taken: 42.718 seconds, Fetched: 8 row(s)

顯示person表結構

hive>  desc person;
id                  	int                 	                    
name                	string              	                    
age                 	int                 	                    
sex                 	string  

其他命令與mysql等命令基本一致,這裡不再贅述

hive表在hdfs上的儲存

 

hive查詢時啟動mapreduce程式