Hive搭建与基本操作

1.1  Hive概述

Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper reducer 来处理内建的 mapper reducer 无法完成的复杂的分析工作。

1.2 实验一:Hive搭建与基本操作

1.2.1 Hive下载安装

下载hive,进入官方地址: http://hive.apache.org/

Hive搭建与基本操作


在左边找到downloads 点击进入

选择 download a release  now!

选择一个下载地址

选择stable-2 选择稳定的版本下载

将下载好的hive拷贝至hadoop01的softwares目录下解压

Hive搭建与基本操作

vi /etc/profile

# Hive

export HIVE_HOME=/home/centos/soft/hive

export HIVE_CONF_DIR=$HIVE_HOME/conf

export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib

export PATH=$PATH:$HIVE_HOMW/bin

更新配置

source  /etc/profile

1.2.2配置mysql

我们下载安装mysql,数据库下载官网:https://dev.mysql.com/downloads/mysql/

选择Generic版本,64位下载

#卸载系统自带的Mariadb

[[email protected] ~]#rpm -qa|grep mariadb

mariadb-libs-5.5.44-2.el7.centos.x86_64

[[email protected] ~]# rpm-e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

 

#检查mysql组和用户是否存在,如无创建
[[email protected] ~]# cat /etc/group | grep mysql 
[[email protected] ~]# cat /etc/passwd | grep mysql
#创建mysql用户组
[[email protected] ~]# groupadd mysql
 
#创建一个用户名为mysql的用户并加入mysql用户组

[[email protected]~]#  useradd -g mysql mysql

#制定password 为111111
[[email protected] ~]# passwd mysql
更改用户 mysql 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[[email protected] ~]#
将下载好的mysql上传到文件夹解压

[[email protected]]# tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz

[[email protected]]# mv mysql-5.7.11-linux-glibc2.5-x86_64 mysql

[[email protected]]# chown -R mysql mysql/ 

[[email protected]]# chgrp -R mysql mysql/

[[email protected] mysql]# mkdir data

[[email protected] mysql]# chown -R mysql:mysqldata

修改配置文件

Hive搭建与基本操作

修改mysql的配置文件

Hive搭建与基本操作

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

skip-name-resolve

#设置3306端口

port =3306

# 设置mysql的安装目录

basedir=/usr/softwares/mysql

# 设置mysql数据库的数据的存放目录

datadir=/usr/softwares/mysql/data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

lower_case_table_names=1

max_allowed_packet=16M

Hive搭建与基本操作

[[email protected]]# mysqld --initialize --user=mysql --basedir=/var/mysql/--datadir=/var/mysql/data/   

 

cp ./support-files/mysql.server /etc/init.d/mysqld
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysqld

返回主目录

Hive搭建与基本操作

免密码登录修改root密码

mysql> update user set authentication_string=password('123abc') where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit

1.2.2 Hive搭建配置

1. 内嵌模式

修改hive-site.xml 文件 在命令行中使用替换命令:

:%[email protected]\${system:java.io.tmpdir}@/usr/softwares/hive/[email protected]

大概替换四处位置

Hive搭建与基本操作

复制jline包给hadoop

cp   usr/softwares/hive/lib/jline-2.12.jar/usr/softwares/Hadoop-2.7.1/share/Hadoop/yarn/lib

Hive搭建与基本操作

初始化数据库

Schematool –dbType derby –initSchema

Hive搭建与基本操作

启动hive

Hive搭建与基本操作

在启动目录下,出现metastore_db

Hive搭建与基本操作

2.远程模式与本地模式

创建新用户,赋予全部权限

Hive搭建与基本操作


mysql> create database hive; 
CREATE USER 'hive'@'localhost' IDENTIFIED BY '123456';

GRANT ALL PRIVILEGES ON *.* TO hive IDENTIFIED BY'123456'  WITH GRANT OPTION;

上传Mysql的连接包到hive的lib目录下

Hive搭建与基本操作

修改hive-site.xml 以下属性:

<property>

   <name>javax.jdo.option.ConnectionURL</name>

    <value>jdbc:mysql://localhost:3306/hive</value>

   <description>

<property>

   <name>javax.jdo.option.ConnectionDriverName</name>

   <value>com.mysql.jdbc.Driver</value>

   <description>Driver class name for a JDBCmetastore</description>

 </property>

<property>

   <name>javax.jdo.option.ConnectionUserName</name>

   <value>hive</value>

   <description>Username to use against metastoredatabase</description>

 </property>

<property>

   <name>javax.jdo.option.ConnectionPassword</name>

   <value>123456</value>

   <description>password to use against metastoredatabase</description>

 </property>

 

启动hive

[[email protected] bin]# hive --servicemetastore &

[[email protected] bin]# hive 

使用本地的mysql数据库,不在生成数据库文件。

在可视化数据库软件中可以看到hive数据库多了许多hive的元数据表

Hive搭建与基本操作

远程模式修改连接的URL即可。

Hive搭建与基本操作

Hive搭建与基本操作

Hive的基本操作

查看所有表

Hive搭建与基本操作

删除表

Hive搭建与基本操作

查看以T结尾的表

Hive搭建与基本操作

查看表结构

Hive搭建与基本操作

修改表名

Hive搭建与基本操作

新增加密码列

Hive搭建与基本操作

删除密码列

Hive搭建与基本操作