centos6.5安裝hive-1.2.2
阿新 • • 發佈:2018-11-30
開始安裝
下載地址: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程式