1.首先安装Mysql:

1.1 检查是否已经安装MySQL

检查:rpm -qa | grep mysql
删除:sudo rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64

1.2 安装的版本

一般情况下,企业使用MySQL的版本:5.7,和Java项目中使用MySQL是一致的
5.1和5.7区别:
服务的名称:<5.5:mysqld >=5.5:mysql

1.3通过Yum安装

sudo yum install -y mysql-server (sudo是非root用户 行使root的权限)

1.4启动MySQL服务

sudo service mysqld start

1.5设置开机启动

sudo chkconfig mysqld on 
sudo chkconfig mysqld --list (查看开启状态 )

1.6设置管理员密码

/usr/bin/mysqladmin -u root password '123456'

1.7登录MySQL

mysql -uroot -p123456

1.8修改权限

1.8.1授权:

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option

1.8.2 删除其他授权

use mysql
select host,password,user from user
delete from user where host='xxxxx'

删除结果

hadoop hive 只能查询不能存储 hadoop hive mysql_MySQL

1.8.3 刷新授权

flush privileges

1.9重启MySQL服务,远程连接

sudo service mysqld restart

2.准备工作

2.1确保Hadoop相关进程启动

NameNode、DataNode
ResourceManager、NodeManager
JobHistoryServer

2.2 MySql服务器启动

确保开启、开机启动
windows 上Navicat等工具可以连上

3、Hive功能介绍

hive是Apache的顶级项目,
http://hive.apache.org/

3.1 hive是干什么

将SQL语句转换成MapReduce程序,并且提交到Yarn上运行,读取HDFS上的数据进行处理。
SQL语句:和MySQL数据库中SQL语句非常非常类似

3.2概念:SQL on Hadoop

建立在Hadoop之上提供SQL方式分析的框架
- 最早的框架就是 Hive
facebook开源

  • impala
  • presto
  • sparkSQL/shark
    -kylin

3.3要学好hive,需要什么

Hadoop基础:HDFS、MapReduce、Yarn
MySQL数据库
DML(数据操作语言)、DDL(数据定义语言)

4.使用sql语句实现wordcount程序:

Hadoop的处理过程

Hadoop spark hive spark hive spark scala

分割、

(hadoop,1),(spark,1),(hive,1)…

合并,然后在相加得到结果

假设:我们将数据已经放到MySQL中:

hadoop hive 只能查询不能存储 hadoop hive mysql_hadoop_02


hadoop hive 只能查询不能存储 hadoop hive mysql_hive_03


同样的结果,用SQL语句几行就O了,就是比MapReduce简单

5、hive软件版本的问题

其实使用的3大版本:
0.13.1:经典稳定的版本(2104)
1.2.1 :较新的一个版本
2.X:2017发布,
底层推荐使用Spark或者TeZ框架分析数据,而不是MapReduce

下载地址:http://apache.org/dist/hive

6、安装Hive

6.1上传、解压、重命名

1.上传下载好的hive压缩包
2.解压
3.重命名(为了方便tab补全):mv apache-hive-1.2.1-bin/ hive-1.2.1-bin/

6.2 hive目录结构

hadoop hive 只能查询不能存储 hadoop hive mysql_hadoop_04

6.3修改配置 conf中:

修改文件名称(可以不改):mv hive-env.sh.template hive-env.sh

hive-env.sh

hadoop hive 只能查询不能存储 hadoop hive mysql_MySQL_05

在hadoop下创建数据仓库

hive 的数据需要保存到HDFS,那么保存HDFS那个目录,是不是需要配置

不配置,因为它会去读默认路径,但是这些目录是空,我需要去创建

hadoop hive 只能查询不能存储 hadoop hive mysql_MySQL_06


hadoop hive 只能查询不能存储 hadoop hive mysql_mysql_07

6.4 hive的基本使用

启动交互式命令:bin/hive

hadoop hive 只能查询不能存储 hadoop hive mysql_MySQL_08

7 测试!!!!

直接将Mysql表中的数据复制出来
将它上传到Linux(选择好路径 后面会使用路径)

hadoop hive 只能查询不能存储 hadoop hive mysql_hive_09

7.1创建数据库&表

直接使用default数据表
创建表(以下是我的建表语句 可以参考)

CREATE TABLE word1
	word STRING,
	count INT
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'

7.2加载数据到数据库

LOAD DATA LOCAL INPATH '/opt/datas/word1.txt' INTO TABLE word1;

7.3测试

SELECT word,count(word) count FROM word1 GROUP BY word;

hadoop hive 只能查询不能存储 hadoop hive mysql_hive_10

8、hive文档:

https://cwiki.apache.org/confluence/display/Hive/Home#Home-UserDocumentation、

下一篇博客:介绍如何修改hive使用mysql存储元数据