为什么选择 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

Hive 基础及安装相关推荐

  1. Hive基础(安装)

    Hive基础 一.什么是Hive 1.Hive特点 二.Hive的安装 1.检查hadoop环境 (1)查看Hadoop版本 (2)启动进程 2.安装MySQL (1)安装MySQL (2)查看账号密 ...

  2. Hive 基础-进阶

    HIVE基础 1,安装:基于hadoop之上,先安装hadoop,安装在另外一篇博客有详细讲到. 2,hive的管理:cli方式,web界面方式 cli方式:直接输入#hive --service c ...

  3. Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)...

    Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...

  4. HiveQL学习笔记(二):Hive基础语法与常用函数

    本系列是本人对Hive的学习进行一个整理,主要包括以下内容: 1.HiveQL学习笔记(一):Hive安装及Hadoop,Hive原理简介 2.HiveQL学习笔记(二):Hive基础语法与常用函数 ...

  5. Hive远程模式安装(1.00)

    为什么80%的码农都做不了架构师?>>>    hiveserver2和metastore分离部署,元数据存储采用mysql,mysql与metastore分离部署. mysql: ...

  6. linux hive创建数据库失败,Hive本地模式安装及遇到的问题和解决方案

    Apache Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行. 其优点是学习成 ...

  7. Hadoop3 Hive Spark完整安装与实践

    大数据实践 Hadoop3 Hive Spark完全安装 在下载目录下打开终端,移动下载好的文件到/usr/local sudo mv 文件名 /usr/local 在/usr/local中解压文件 ...

  8. 移动开发—Less基础与安装

    移动开发-Less基础与安装 一.维护CSS的弊端 CSS是一门非程序式语言.没有变量.函数.SCOPE(作用域)等概念 CSS需要书写大量看似没有逻辑的代码.CSS的冗余度是比较高的 不方便维护扩展 ...

  9. Hive基础08、Hive引入Struct结构体

    Hive基础08.Hive引入Struct结构体 1.建表语句 创建一个温良贤淑女子的表 英文关键字解析: 1.CREATE TABLE 创建一个指定名字的表,如果库中已有相同名的表,则抛出异常: 用 ...

最新文章

  1. 基于Mozilla Thunderbird的扩展开发(四)---修改Thunderbird源代码实现自动保存附件...
  2. php strncmp函数用法,strncmp函数用法详解
  3. SAP Spartacus使用cxComponentWrapper测试MiniCart
  4. [JavaWeb-HTML]HTML标签_语义化标签
  5. [剑指offer]面试题8:旋转数组的最小数字
  6. python3 csv读写_python3 csv
  7. wpsOffice文件在线预览-java接入
  8. 启用IIS服务(运行中输入inetmgr打不开IIS管理器的解决办法)
  9. 学习如何搭建SpringBoot框架
  10. 华东理工大学本科毕业论文答辩和论文选题PPT模板
  11. Spring AOP配置 之 @Aspect
  12. Mysql数据库管理
  13. 破解Photoshop cs6
  14. iOS自动化-iOS录屏xrecord及解决iPhone设备不显示的问题
  15. java 实现回收站功能,回收站功能在 Linux 中的实现
  16. 简易的单点登录系统代码实现
  17. MATLAB第一节课基本操作与矩阵输入
  18. Python编写无界面版打字练习程序
  19. 华为鸿蒙系统推广,未雨绸缪!为更好推广鸿蒙自研系统,华为已提前做了三大准备!...
  20. Mockito 之 verify 使用方法

热门文章

  1. eureka默认端口号是多少_从eureka报错中得知的默认配置
  2. sql判断时间大于0点_Java秒杀系统实战系列-数据库级别Sql的优化与代码的调整
  3. 剑指offer面试题06. 从尾到头打印链表(辅助栈法)
  4. LeetCode 152. 乘积最大子序列(动态规划)
  5. 【OpenCV人脸识别2】从视频中检测人脸
  6. STM32 C++编程 004 Adc (数模转换)类
  7. [Hadoop大数据]——Hive数据的导入导出
  8. 4.你认为一些军事方面的软件系统采用什么样的开发模型比较合适?
  9. 搜索总结c++ 内存泄露问题
  10. round()和trunc()函数的应用