hive的搭建使用

HIVE框架

1:可以干什么:

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

SQL语句:和MySQL数据库中SQL语句非常非常类似。

2:概念:SQL on Hadoop

建立在Hadoop之上提供以SQL方式分析数据的框架

最早的由facebook开源的框架

3:要学好hive,需要什么

1:需要一定的Java语言的基础

2:需要有一定的hadoop使用的基础,了解什么是HDFS,MapReduce,Yarn

3:具有一定的sql语言的基础,知道什么是DML(数据操作语言)、DDL(数据定义语言)

3:hive软件版本

0.13.1:经典稳定的版本(2104)

1.2.1 :较新的一个版本

2.X:2017发布,

 底层推荐使用Spark或者TeZ框架分析数据,而不是MapReduce

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

4:安装Hive

环境准备:Linux系统,hadoop安装完成,Mysql安装完成

4.1:下载,上传,解压hive压缩包

4.2:修改配置文件

首先重命名文件:

mv hive-env.sh.template hive-env.sh
 
 

4.3:创建数据仓库

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

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

        首先启动hadoop相关进程,再进行以下操作:

4.4 hive的基本使用

hive的使用语句,大部分与sql语言类似,常用的sql语句在hive环境中也可以使用

开启hive:bin/hive

 
 

5:数据导入测试

测试数据:


 
 
  1. hello 1
  2. hoadoop 1
  3. hadoop 1
  4. hadoop 1
  5. like 1
  6. like 1

hive中建立表:


 
 
  1. 1: CREATE TABLE tb_word(
  2. 2: word STRING,
  3. 3: count INT
  4. 4:)
  5. 5: ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
  6. 6: LINES TERMINATED BY '\n';
  7. 1:建立表名为tb_word的表
  8. 2:添加word字段 String类型
  9. 3:添加count字段 INT类型
  10. 5:导入的数据文件每一行以tab键分割,即‘\t’
  11. 6:每一行分割以回车分割

加载数据:

LOAD DATA LOCAL INPATH '数据文件路径'  INTO TABLE tb_word; 

 
 

测试用SQL语句实现wordcount单词计数:

7:使用MySql存储元数据

为什么使用MySql来存储hive的元数据

首先:元数据是什么

元数据可以简单的理解为存储数据关系的数据,像是书的目录一样

其次:为什么要使用mysql来存储元数据

hive中无论是创建的 数据库还是表 ,这些元数据metaStore需要存储

默认情况下存储在Derby数据库里面的,属于嵌入式数据,每次仅仅支持一个会话

所有为了支持多个会话的hive操作,推荐MySQL存储元素

7.1:配置配置文件,使用MySql数据库存储元数据

官方配置文档

https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration

(1)创建配置文件

touch hive-site.xml
 
 

注意:在Linux中建立配置文件后,如果要使用远程连接工具来修改配置文件,那么在修改配置文件之前,一定要在Linuxo中打开新建的配置文件,随便输入几行文本信息,保存关闭后,再使用windows的远程连接工具修改配置文件!这么做的原因就是因为Linux中文档的换行与Windows中的换行代表的字符编码不一样,直接使用Windows中的换行符,Linux将无法识别并报错!

(2)修改配置

 (3)添加mysql驱动,驱动包可以去maven仓库下载,mysql-connector-java-5.1.27-bin.jar,下载后上传到hive文件夹中的lib文件夹下

7.2:测试

首先要将hive下的metastore_db和derby.log删除

在多个窗口启动测试

如可以正常在多个窗口启动,即运行正常,配置成功

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值