Hive环境搭建
-
hive下载:http://archive-primary.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz
wget http://archive-primary.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz -
解压
tar -zxvf hive-1.1.0-cdh5.7.0.tar.gz -C …/apps/ -
系统环境变量(vim ~/.bash_profile)
export HIVE_HOME=/root/apps/hive-1.1.0-cdh5.7.0
export PATH=$HIVE_HOME/bin:$PATH
source ~/.bash_profile
- 配置
4.1 $HIVE_HOME/conf/hive-env.sh 中导出Hadoop_Home
4.2 拷贝mysql 驱动架包到$HIVE_HOME/lib
4.3 vim hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://spark003: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_HOME/bin/hive
Hive的基本使用
创建表
create table test_table(name string);
加载本地数据到hive表【local方式】
load data local inpath ‘/home/hadoop/data/hello.txt’ into table test_table;
查询,统计,词频的个数:
select * from test_table;
select word, count(1) from test_table lateral view explode(split(name),’\t’) wc as word group by word;
小案例
create table emp(
empno int,
ename string,
job string,
mgr int,
sal double,
comm double,
deptno int
)row format delimited fields terminated by ‘\t’;
create table dept(
deptno int,
dname string,
location string
)row format delimited fields terminated by ‘\t’;
load data local inpath ‘/home/hadoop/data/emp.txt’ into table emp;
load data local inpath ‘/home/hadoop/data/dept.txt’ into table dept;
统计分析:
求每个部门的人数:
select deptno,count(1) from emp group by deptno;