Hive 基础及安装

为什么选择 Hive?

  • 基于Hadoop的大数据的计算/扩展能力
  • 支持SQL like查询语言
  • 统一的元数据管理
  • 简单编程

Hive 是一种客户端工具,无所谓伪分布式/分布式;

对于开发人员,直接使用Java APIs可能是乏味或容易出错的,同时也限制了Java程序员在Hadoop上编程的运用灵活性。于是Hadoop提供了两个解决方案(Pig & Hive),使得Hadoop编程变得更加容易。

Hive在Hadoop中扮演数据仓库的角色。Hive添加数据的结构在HDFS(hive superimposes structure on data in HDFS),并允许使用类似于SQL语法进行数据查询。与Pig一样,Hive的核心功能是可扩展的。

Hive 基础

  • (1)在hadoop生态圈中属于数据仓库的角色。他能够管理hadoop中的数据,同时可以查询hadoop中的数据

    • a) 所谓 hadoop 中的数据,是指存储在 hdfs 文件系统上的数据,MapReduce用于数据处理

    • b) hive 的最大优势便在于其对数据管理数据查询功能的支持;

  • (2)本质上讲,hive是一个SQL解析引擎。Hive可以把SQL查询转换为MapReduce中的job来运行。

  • (3)hive有一套映射工具,可以把SQL转换为MapReduce中的job,可以把SQL中的表、字段转换为HDFS中的文件(夹)以及文件中的列。这套映射工具称之为metastore,一般存放在derby、mysql中。

    • a) 表 ⇒ 文件(文件夹)
    • b) 字段 ⇒ 文件中的列

Hive 的系统架构


这里写图片描述

上图可知:

  • (1)是一个二层的分层结构:Hive 是建立在 Hadoop 上的数据仓库基础架构;

  • (2)Hive 提供了三个用户接口:

    • a) CLI:command line interface,命令行接口,
    • b) JOBC/ODBC:
    • c) WebGUI:web 接口
  • (3)不同的接口在连接在(编译器、优化器、执行器)构成的驱动上,通过driver驱动,将三个接口得到的SQL语句转换为hadoop的mapreduce 执行,也即对hdfs 的操纵;

  • (4)驱动的转换工作需要 metastore 的参与,metastore是hive的转换工具嘛;

安装

  • (1)下载、解压缩、配置环境变量

  • (2) 修改配置文件

    • (1)重命名文件

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

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

    export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin
    • (3)修改$HIVE_HOME/bin的 hive-config.sh,增加以下三行

      export JAVA_HOME=/usr/local/jdk
      export HIVE_HOME=/usr/local/hive
      export HADOOP_HOME=/usr/local/hadoop

References

[1] 《Hadoop实战》的笔记-说明一下Pig与Hive

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值