Hive(功能、安装、简单应用及使用Mysql储存元数据)

本文详细介绍了Hive的功能,包括其作为Apache顶级项目,将SQL转为MapReduce任务运行在Hadoop上。接着,文章指导如何安装Hive,涉及Hadoop环境准备、MySQL服务启动、Hive目录结构、配置修改以及数据仓库创建。此外,还展示了Hive的基本使用步骤,如创建数据库和表、加载数据。最后,讨论了使用MySQL存储元数据的原因、过程和效果,解决了Hive单会话限制的问题。
摘要由CSDN通过智能技术生成

第一部门:功能介绍

1.hive是Apache的顶级项目

2.hive是将SQL语句转换成MapReduce程序,并且提交到Yarn上运行,读取HDFS上的数据进行处理

3.hive的功能实现依赖HDFS、MapReduce、Yarn还有MySQL数据库(DML:数据操作语言、DDL:数据定义语言)

第二部分:安装Hive

1.准备工作
1.1确保Hadoop相关进程启动
hdfs:namenode、datanode
yarn:resourcemanager、nodemanager
jobhistory:historyserver
1.2MySql服务器启动
开启MySql服务:sudo service mysqld start
开机启动:chkconfig mysqld on

2.上传、解压、重命名
上传:用filezilla把apache-hive-1.2.1-bin上传到linux
解压
重命名(为了使用方便舒服)

3.hive的目录结构
在这里插入图片描述
bin:hive客户端命令
conf:配置文件
examples:案例
lib:库

4.修改配置(conf目录下)
修改hive-env.sh.template
在这里插入图片描述
说明:自身配置目录及hadoop目录

5.创建数据仓库
hive的数据需要保存到HDFS,但不需要配置HDFS目录,因为它会读取默认路径,但是这些目录是空,需要区创建
操作:hadoop文件下
在这里插入图片描述
说明:创建目录及赋予其他组写的权限
强调:hive所有表都存在warehouse目录下

6.hive的基本使用
启动交互式命令:bin/hive(hive文件目录下)
在这里插入图片描述
第三部分:简单应用

1.准备数据(单词+tab+1)
在这里插入图片描述
2.上传到linux(这里我将他上传到/opt/datas)

3.创建数据库&表
直接使用default数据表
创建表

--Hive创建表
CREATE TABLE tb_word(
    word STRING,
    count INT
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' 
LINES TERMINATED BY '\n';

4.加载数据到数据库
LOAD DATA LOCAL INPATH ‘/opt/datas/word.txt’ INTO TABLE tb_word;

5.测试

--测试
SELECT
    word,count(word) count
FROM
    tb_word
GROUP BY
    word; 

第四部分:MySql储存元数据

1.现象(这么做的原因)
bin/hive这个交互性命令行不能同时开多个,开第二个就报错了

2.原因
hive创建的数据库或者表,他们的元数据metaStore需要存储。默认是存储到Derby数据库里面的,属于嵌入式数据,每次只支持一个会话

3.解决
使用支持多个会话的数据,推荐MySQL储存元数据

4.配置
4.1文档
https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration

4.2创建配置文件(hive文件目录下的conf里面)
touch hive-site.xml

4.3修改配置(hive-site.xml)
xml文件支持
在这里插入图片描述
在这里插入图片描述
说明:xml文件支持下面配置该图的内容,包含用户名,密码,驱动,元数据,主机名

4.4添加驱动
将mysql-connector-java-5.1.27-bin.jar上传到hive的lib里

4.5测试
4.5.1:将之前启动的bin/hive生成的metastore_db和derby.log删除
4.5.2:再次启动 bin/hive
4.5.3:效果:a):可以启动多个bin/hive交互性命令行
b):mysql 数据库中可以看到 那个 数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值