Hive学习总结

1、Hive是什么?

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

Hive是SQL解析引擎,它将SQL语句转译成M/R Job然后在Hadoop执行

Hive的表其实就是HDFS的目录/文件,按表名把文件夹分开。如果是分区表,则分区值是子文件夹,可以直接在M/R Job里使用这些数据。

优点:

基于Hadoop的大数据的计算/扩展能力

支持SQL like查询语言

统一的元数据管理

简单编程

Hive介绍:https://blog.csdn.net/u013063153/article/details/54313201

Hive实战:https://blog.csdn.net/u013063153/article/details/54313217

2、Hive的系统架构

 

•用户接口,包括 CLI,JDBC/ODBC,WebUI

•元数据存储,通常是存储在关系数据库如 mysql, derby 中

•解释器、编译器、优化器、执行器

•Hadoop:用 HDFS 进行存储,利用 MapReduce 进行计算

 

Ø  用户接口主要有三个:CLI,JDBC/ODBC和 WebUI

Ø  CLI,即Shell命令行

Ø  JDBC/ODBC 是 Hive 的Java,与使用传统数据库JDBC的方式类似

Ø  WebGUI是通过浏览器访问 Hive

Ø  Hive 将元数据存储在数据库中(metastore),目前只支持 mysql、derby。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等

Ø  解释器、编译器、优化器完成HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划(plan)的生成。生成的查询计划存储在 HDFS 中,并在随后有 MapReduce 调用执行

Ø  Hive 的数据存储在 HDFS 中,大部分的查询由 MapReduce 完成(包含 * 的查询,比如 select * from table 不会生成 MapRedcue 任务)

3、Hive的安装

把hive-0.9.0.tar.gz复制到/usr/local

解压hive-0.9.0.tar.gz与重命名

#cd /usr/local

#tar -zxvf hive-0.9.0.tar.gz

#mv hive-0.9.0 hive

修改/etc/profile文件。#vi /etc/profile

增加export HIVE_HOME=/usr/local/hive

修改

exportPATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HIVE_HOME/bin

保存退出

cd  $HIVE_HOME

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

mv hive-default.xml.template hive-site.xml

1.修改hadoop的hadoop-env.sh(否则启动hive汇报找不到类的错误)

 exportHADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:

       $HADOOP_HOME/bin

2.修改$HIVE_HOME/bin的hive-config.sh,增加以下三行

export JAVA_HOME=/usr/local/jdk

export HIVE_HOME=/usr/local/hive

export HADOOP_HOME=/usr/local/hadoop

启动:#hive

hive>show tables;

hive>create table test(id int,namestring);

hive>quit;

观察:#hadoop fs -ls /user/hive

参数:hive.metastore.warehouse.dir

4、Hive与传统数据库

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值