操作系統:CentOS 7
Hive版本:2.3.6
JDK版本:1.8
Mysql版本:5.7
Hadoop版本:2.7.7
安裝前準備
確保JDK 正常安裝
yum install java-1.8.0-openjdk
創建hive數據庫併爲其授權
在msyql數據庫中創建hive的元數據庫
create database hive;
grant all on hive.* to root@'%' identified by 'xxx';
grant all on hive.* to root@'localhost' identified by 'xxx';
flush privileges;
下載
cd /root/Downloads
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.6/apache-hive-2.3.6-bin.tar.gz
解壓
tar -zxvf apache-hive-2.3.6-bin.tar.gz
移動到安裝目錄
mv apache-hive-2.3.6 /usr/local/hive
cd /usr/local/hive
修改配置文件
cd conf
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
修改hive-site.xml
vim hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- ########################### hive的 JDBC連接 ############################ -->
<!-- mysql 連接用戶名 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- mysql 連接密碼 -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>xxx</value>
</property>
<!-- mysql 連接URL 如果hive和mysql在同一服務器上,使用localhost -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive</value>
</property>
<!-- mysql 連接驅動 -->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
</configuration>
修改hive-env.sh
#Java路徑
export JAVA_HOME=/usr/local/jdk1.7.0_80
#Hadoop安裝路徑
export HADOOP_HOME=/usr/local/hadoop
#Hive安裝路徑
export HIVE_HOME=/usr/local/hive
#Hive配置文件路徑
export HIVE_CONF_DIR=/usr/local/hive/conf
添加mysql驅動包
如果本機有mysql的驅動jar包,就直接拷貝到hive的安裝目下的lib目錄。
如果沒有,從網上下載一個驅動jar包。https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.47
配置hive環境變量
vim /etc/profile
末尾添加如下內容:
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
使環境變量生效:
source /etc/profile
初始化元數據庫
schematool -dbType mysql -initSchema
啓動hive
直接使用hive命令就可以啓動。
測試
本機準備一個數據文件/root/Downloads/student.txt,數據內容:
95002,劉晨,女,19,IS
95017,王風娟,女,18,IS
95018,王一,女,19,IS
95013,馮偉,男,21,CS
95014,王小麗,女,19,CS
95019,邢小麗,女,19,IS
95020,趙錢,男,21,IS
95003,王敏,女,22,MA
95004,張立,男,19,IS
95012,孫花,女,20,CS
95010,孔小濤,男,19,CS
95005,劉剛,男,18,MA
95006,孫慶,男,23,CS
95007,易思玲,女,19,MA
95008,李娜,女,18,CS
95021,週二,男,17,MA
95022,鄭明,男,20,MA
95001,李勇,男,20,CS
95011,包小柏,男,18,MA
95009,夢圓圓,女,18,MA
95015,王君,男,18,MA
創建測試數據庫
hive (default)> create database test;
使用新的數據庫
hive (default)> use test;
創建student表
hive (test)> create table student(id int, name string, sex string, age int, department string) row format delimited fields terminated by ",";
往表中加載數據
hive (test)> load data local inpath "/root/Downloads/student.txt" into table student;
查詢數據
hive (test)> select * from student;
OK
student.id student.name student.sex student.age student.department
95002 劉晨 女 19 IS
95017 王風娟 女 18 IS
95018 王一 女 19 IS
95013 馮偉 男 21 CS
95014 王小麗 女 19 CS
95019 邢小麗 女 19 IS
95020 趙錢 男 21 IS
95003 王敏 女 22 MA
95004 張立 男 19 IS
95012 孫花 女 20 CS
95010 孔小濤 男 19 CS
95005 劉剛 男 18 MA
95006 孫慶 男 23 CS
95007 易思玲 女 19 MA
95008 李娜 女 18 CS
95021 週二 男 17 MA
95022 鄭明 男 20 MA
95001 李勇 男 20 CS
95011 包小柏 男 18 MA
95009 夢圓圓 女 18 MA
95015 王君 男 18 MA
Time taken: 5.867 seconds, Fetched: 21 row(s)