前言
Hive是一个基于Hadoop的数据仓库, 可以将结构化的数据映射为一张数据表, 并提供简单的SQL查询功能, 他会将SQL转化为MapReduce的方式运行, 因为它支持原生的SQL语句,并能够将它转变为MapReduce任务, 所以特别的方便, 十分适合统计任务.
安装
1. 下载HIVE
假设你的电脑已经安装了MySQL
我的Hadoop版本是2.9.2, 我下载的对应HIVE版本是1.2.2
之前下载了 2.3.4 结果版本太新不匹配
https://hive.apache.org/downloads.html
tar xvzf apache-hive-1.2.2-bin.tar.gz
sudo mv apache-hive-1.2.2-bin /opt/hive-1.2.2
2. 配置HIVE
2.1 配置环境变量
vim ~/.bashrc
# Hive
export HIVE_HOME=/opt/hive-1.2.2
export PATH=${HIVE_HOME}/bin:$PATH
source ~/.bashrc
2.2 修改HIVE配置文件
cd $HIVE_HOME/conf
vim hive-site.xml
# 添加如下内容
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?useSSL=false</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<!--MySQL账号-->
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<!--MySQL密码-->
<value>123456</value>
<description>password to use against metastore database</description>
</property>
</configuration>
3. 下载MySQL连接器
https://dev.mysql.com/downloads/connector/j/
选择对应的版本下载:
tar xvzf mysql-connector-java-5.1.47.tar.gz
mv mysql-connector-java-5.1.47-bin.jar /opt/hive-1.2.2/lib/
测试
输入命令hive
进入命令交互界面
创建测试表:
create table employee (name String, age int);
desc employee;
insert into employee values ("Ying", 18);
然后你就可以看到一个MapReduce任务正在运行, 在本地端口8088上也可以看得到任务