当前位置:   article > 正文

8、Hive数据仓库——环境搭建及简单使用_hive数据仓库搭建

hive数据仓库搭建


Hive数据仓库——环境搭建及简单使用

Hive的安装和使用

我们Hadoop框架版本的约定

JAVA_HOME=/usr/local/soft/jdk1.8.0_171
HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
HIVE_HOME=/usr/local/soft/hive-1.2.1
  • 1
  • 2
  • 3

一、Linux的JDK的安装 (已经安装过JDK可以跳过此步骤)

  具体JDK安装步骤请点击下方靓仔原创博客链接:
  Hadoop环境搭建之克隆前的准备及Linux的JDK的安装

二、离线安装MySQL(已经安装过MySQL可以跳过此步骤)

  具体MySQL安装步骤请点击下方靓仔原创博客链接:

  大数据之在Liunx中安装MySQL


三、搭建Hadoop框架(分布式版本)

  具体Hadoop安装步骤请点击下方靓仔原创博客链接:
  Hadoop搭建(分布式版本)


四、搭建Zookeeper集群 (可省略)

  具体Zookeeper安装步骤请点击下方靓仔原创博客链接:
  Hadoop框架Zookeeper简介、搭建及简单使用


五、安装Hive数据仓库

前提是:mysql和hadoop必须已经成功启动了
可以选择将Zookeeper集群停掉不影响 zkServer.sh stop

1、验证MySQL和Hadoop是否安装成功

MySQL和Hadoop能正常相应就没问题

2、在MySQL中创建hive元数据库

警告!必须把编码设置为latin1编码,否则安装会造成版本上的冲突

mysql -uroot -p123456
create database hive character set "latin1";
show databases;
exit
  • 1
  • 2
  • 3
  • 4

3、上传Hive的安装包和JDBC驱动包


4、解压Hive的安装包并修改目录名称

#解压Hive的安装包
tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/local/soft/

#切换到soft目录
cd /usr/local/soft/

#修改目录名称
mv apache-hive-1.2.1-bin/ hive-1.2.1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • Hive的目录结构如下

5、配置Hive环境变量

#复制当前路径
pwd
/usr/local/soft/hive-1.2.1

#在文件末尾新增
HIVE_HOME=/usr/local/soft/hive-1.2.1
$HIVE_HOME/bin:

#保存退出
:wq
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
#刷新环境变量
source /etc/profile

#输入hi按TAB键可以补出hive命令就配置成功了
[root@master hive-1.2.1]# hi
history         hive            hive-config.sh  hiveserver2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6、进入hive-1.2.1/conf目录,复制备份文件并重命名

#进入hive-1.2.1/conf目录
cd conf/

#复制备份文件并重命名
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

7、配置hive的配置文件

  hive的配置文件比较大,在linux中查找某项配置比较难,可以先将hive-site.xml文件复制到windows用文本编辑打开,然后ctrl+f查关键字修改,修改之后再放回到hive 的conf目录。

7.1、修改hive-env.sh
#修改hive-env.sh
vim hive-env.sh

#再最后一行加入三行内容(大家根据自己的目录和实际情况来添加)
HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
JAVA_HOME=/usr/local/soft/jdk1.8.0_171
HIVE_HOME=/usr/local/soft/hive-1.2.1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
7.2、修改hive-site.xml

通过/对要修改的地方进行查找修改

				<property>
					<name>javax.jdo.option.ConnectionURL</name>
					<value>jdbc:mysql://master:3306/hive?useSSL=false</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.querylog.location</name>
					<value>/usr/local/soft/hive-1.2.1/tmp</value>
				</property>
				<property>
					<name>hive.exec.local.scratchdir</name>
					<value>/usr/local/soft/hive-1.2.1/tmp</value>
				</property>
				<property>
					<name>hive.downloaded.resources.dir</name>
					<value>/usr/local/soft/hive-1.2.1/tmp</value>
				</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
7.3、拷贝mysql驱动到$HIVE_HOME/lib目录下
#切换到hive-1.2.1目录
cd /usr/local/soft/hive-1.2.1/

#拷贝mysql驱动到$HIVE_HOME/lib目录下
cp /usr/local/moudle/mysql-connector-java-5.1.49.jar ./lib/

#打开lib目录查看
cd lib/
ls
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
7.4、将hive的jline-2.12.jar拷贝到hadoop对应目录下
#hive的 jline-2.12.jar 位置在
/usr/local/soft/hive-1.2.1/lib/jline-2.12.jar

#hive的jline-2.12.jar拷贝到hadoop下
cp /usr/local/soft/hive-1.2.1/lib/jline-2.12.jar /usr/local/soft/hadoop-2.7.6/share/hadoop/yarn/lib/
  • 1
  • 2
  • 3
  • 4
  • 5

8、启动Hive

#第一次启动的时候比较慢
hive

#退出
exit;
quit;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

9、修改mysql元数据库hive,让其hive支持utf-8编码以支持中文

#登录mysq
mysql -u root -p123456

#切换到hive数据库
use hive;

#1、修改字段注释字符集
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;

#2、修改表注释字符集
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

#3、修改分区表参数,以支持分区键能够用中文表示
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;

#4、修改索引注解(可选),没有建立索引执行这个命令会报错
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

六、测试hive

1、启动hive

hive
  • 1

2、在hive中创建test1数据库

create database test1;
  • 1

3、切换test1数据库

use test1;
  • 1

4、创建students表

create table students(
    id bigint comment '学生id',
    name string comment '学生姓名',
    age int comment '学生年龄',
    gender string comment '学生性别',
    clazz string comment '学生班级'
) comment '学生信息表' 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

5、创建score表

create table score(
    id bigint comment '学生id',
    score_id bigint  comment '科目id',
    score int comment '学生成绩'
) comment '学生成绩表'  
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6、查看students表信息

desc students;
  • 1

7、查看score表信息

desc score;
  • 1

8、利用可视化工具Navicat Premium 查看

  • 在COLUMNS_V2中可以查看到我们的表

9、这个时候我们访问HDFS的Web UI (master:50070)

这个时候只有表并没有数据


10、上传数据

1、在soft目录下新建data目录用来存放数据
#创建目录
mkdir data
cd data/
  • 1
  • 2
  • 3
2、安装lrzsz 方便数据直接拖放到shell中
#安装lrzsz 
yum install lrzsz
  • 1
  • 2
3、上传student.txt数据到hdfs
hdfs dfs -put students.txt /user/hive/warehouse/test1.db/students/
  • 1
4、上传score.txt数据到hdfs
hdfs dfs -put score.txt /user/hive/warehouse/test1.db/score
  • 1
5、查询students表数据
#记住用select *  查询数据的时候记得加上 limit  (数据太大)
select * from students limit 10;
  • 1
  • 2
6、查询score表数据
#记住用select *  查询数据的时候记得加上 limit  (数据太大)
select * from score limit 10;
  • 1
  • 2

至此,在Hadoop上搭建Hive仓库就完成了


到底啦!关注靓仔欣赏靓仔更多的作品q(≧▽≦q)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/614747
推荐阅读
相关标签
  

闽ICP备14008679号