数据测试:必备的 Hive 安装&交互方式技能,赶紧GET!

2022-07-04 21:47:01 浏览数 (1)

Hive 安装

hive 的下载地址为: https://archive.apache.org/dist/hive/

从图中可以看出,hive 有许多可下载的安装版本,这里我使用 hive-2.3.0 的版本为大家演示。

step1:下载、上传并解压安装包

进入目标机器将下载的安装包上传至服务器的 /your_directory 路径下,进行解压,命令如下所示

代码语言:javascript复制
cd /your_directory
tar -zxvf apache-hive-2.3.0-bin.tar.gz -C  /your_directory
step2:安装 Mysql 用于存储 Hive 元数据

开始在 Linux 下安装 Mysql 数据库,按照以下顺序步骤执行:

a. 查看是否已安装 Mysql yum list installed mysql* 如果检测出已安装 Mysql 则可以先卸载掉, 然后再进行安装;

b. 安装 Mysql 客户端 yum -y install mysql

c. 安装 Mysql 服务器端 yum -y install mysql_server

d. 安装 Mysql 开发库 yum -y install mysql-devel

e. 配置 Mysql 配置文件 设置 utf-8 编码 vim /etc/my.cnf , 在 my.cnf 文件中添加 default-character-set=utf8;

f. 启动 Mysql 数据库 service mysqld start;

g. 创建 root 密码 mysqladmin -u root password 123456

h. 进入 Mysql 数据库 mysql -hlocalhost -P3306 -uroot -p123456

i. 进入 Mysql 客户端进行授权 grant all privileges on . to 'root'@‘%’ identified by 'test_001' with grant option;

flush privileges;

step3:修改 hive 的配置文件

修改 hive-env.sh 文件

代码语言:javascript复制
cd /your_directory/apache-hive-2.3.0-bin/conf
cp hive-env.sh.template hive-env.sh
代码语言:javascript复制
HADOOP_HOME=/your_directory/hadoop-2.7.5
export HIVE_CONF_DIR=/your_directory/apache-hive-2.3.0-bin/conf

修改 hive-site.xml 文件

从图中可以看出该 xml 文件里设置了 Mysql (存储 hive 元数据信息的数据库) 的连接URL,驱动名称,数据库用户名,密码等关键信息。

step4:添加 Mysql 的连接驱动包

Hive 使用 Mysql 作为元数据存储,需要连接 Mysql 数据库,所以将 mysql-connector-java-5.1.38.jar 这个 jar 包上传到 /your_directory/apache-hive-2.3.0-bin/lib这个目录下, 然后启动 Hive。Hive的安装部署就结束了。

step5:配置 Hive 的环境变量

在服务器执行以下命令配置 hive 的环境变量

代码语言:javascript复制
sudo vim /etc/profile
代码语言:javascript复制
export HIVE_HOME=/your_directory/apache-hive-2.3.0-bin
export PATH=:$HIVE_HOME/bin:$PATH

请记住配置完 hive 的环境变量后,需要使用以下命令使其生效

source /etc/profile

Hive 的交互方式

第1种:bin/hive进入hive客户端
代码语言:javascript复制
# 进入到hive的安装目录
cd /your_directory/apache-hive-2.3.0-bin/
# 输入以下命令则可以进入hive客户端页面
bin/hive

hive 客户端页面如下图所示

创建一个数据库

代码语言:javascript复制
# 如果数据库名为:mytest的不存在,则创建一个名为 mytest 的数据库,如果存在也不会报错,只是不会创建 mytest 这个名字的数据库;
create database if not exists mytest;
第2种:使用 sql 语句或者 sql 脚本进行交互

不进入 hive 的客户端直接执行 hive 的 hql 语句

(1). hive -e 的方式
代码语言:javascript复制
cd /your_directory/apache-hive-2.3.0-bin
bin/hive -e'create database if not exists mytest;'
(2). hive -f 的方式
代码语言:javascript复制
cd /your_directory


vim test_hive.sql


test_hive.sql内容如下:
create  database if not exists mytest;
use mytest;
create table t_student(id int, name string);


#通过hive -f来执行sql脚本
bin/hive -f /your_directory/test_hive.sql

以上交互方式创建的 mytest 数据库的元数据信息存储在上述安装的元数据库 mysql 库表中。

end

0 人点赞