一、实验目的
二、实验内容
- 完成Hive安装与配置
- 掌握Hive基本操作(启动、退出、create、show等)
- 使用Hive shell指令创建表
三、实验步骤
(一)完成Hive安装与配置
介绍MySQL为Hive做的设置
1.使用root用户登录MySQL数据库;
mysql -uroot -p123123 -h127.0.0.1
2.创建数据库实例hiveDB;
create database hiveDB;
3.创建用户bee,密码为123123;
create user 'bee'@'%' identified by '123123';
4.授权用户bee拥有数据库实例hiveDB的所有权限;
grant all privileges on hiveDB.* to 'bee'@'%' identified by '123123';
5.刷新系统权限表。
flush privileges;
hive-env.sh
由于Hive是一个基于Hadoop分布式文件系统的数据仓库架构,主要运行在 Hadoop分布式环境下,因此,需要在文件hive-env.sh中指定Hadoop相关配置文件的路径,用于Hive访问HDFS(读取fs.defaultFS属性值)和 MapReduce(读取mapreduce.jobhistory.address属性值)等Hadoop 相关组件。
- 如果目录下没有该文件,我们就以模板复制一个
cp hive-env.sh.template hive-env.sh。vi hive-env.sh打开文件,在文件末尾添加变量指向 Hadoop 的安装路径:HADOOP_HOME=/usr/local/hadoop #在本地环境安装,要根据自己hadoop的路径来确定
至此Hive配置完成。 第一次启动Hive前还需要执行初始化命令:
schematool -dbType mysql -initSchema。
(二)使用Hive shell指令创建表
Hive Shell 常用命令
注意:Hive命令必须以分号;结束。
- 启动 Hive Shell:
hive;
出现hive>说明启动成功。
- 查询数据库:
show databases;;
- 查询表:
show tables;;
因为该数据库下没有创建表,所以输出结果为0行。
- 创建数据库
mydb:create database mydb;;
- 删除数据库
mydb:drop database mydb;; - 创建表
mytable,有id字段,数据类型为int:create table mytable(id int);
- 删除表
mytable:drop table mytable;; - 退出 Hive Shell:
exit;。
Hive Shell 非交互式运行
我们也可以不启动Hive Shell,直接在Linux的命令行操作Hive。
hive -e 'show databases;';
在Hive的交互式模式和非交互式模式下,执行HiveQL操作都会输出执行过程信息,如执行查询操作所用时间,通过指定-S选项可以禁止输出此类信息。
hive -S -e 'show databases;'。
编程要求
在Hive Shell下创建一个表student,表结构如下:
col_name |
data_type |
id |
int |
name |
string |
age |
int |
相关代码:
1. 1. create table student(id int, 2. 2. name string, 3. 3. age int);
四、实验心得
掌握了Hive基本操作
会使用Hive shell指令创建表







