一、什么是Hive

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

Hive是SQL解析引擎,它将SQL语句转译为Map/Reduce Job然后在Hadoop执行,Hive的表其实就是HDFS的目录,按表名把文件夹分开,如果是分区表,可以直接在Map/Reduce Job里使用这些数据。

二、Hive的组件

Hive架构包括如下组件:CLI(command line interface) 、 JDBC/ODBC  、 Thrift  Server 、WEB GUI 、metastore 和Driver(Compiler、Optimizer和Executor)这些组件可以分为:服务端组件和客户端组件。

1)客户端组件

Cli:Command line interface 命令行接口

Thrift客户端:Hive架构的许多客户端接口是建立在Thrift客户端上,包括JDBC和ODBC接口

WEBGUI:Hive客户端提供了一种通过网页方式访问Hive所提供的服务,这个接口对应Hive的hwi组件(hive web interface)使用前要启动hwi服务

2)服务端组件

Driver组件:该组件包括Compiler、Optimizer和Executor,它的作用是将我们写的HiveQL语句进行分析、编译优化。生成执行计划,然后调用底层的mapreduce计算框架

Metastore组件:元数据服务组件,这个组件存储Hive的元数据,hive的元数据存储在关系数据库里,hive支持的关系数据库有derby  mysql。元数据对于hive十分重要,因此hive支持把mwtastore服务独立出来,安装到远程的服务器集群里,从而解耦Hive服务和metastore服务,保证hive运行的健壮性。

Thrift服务:facebook开发的一个软件框架,它用来进行可扩展跨语言的服务的开发,hive集成了该服务,能让不同的编程语言调用hive的接口

注:Hive的数据存储在HDFS中,大部分的查询有MapReduce完成(包含*的查询,不会生成MapReduce任务)

HQL的执行过程:

解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划(Plan)的生成。生成的查询计划存储在HDFS中,并随后有MapReduce调用执行。
HQL Select-->发送到解析器进行词法分析 -->错误则反映 否则发送到编译器 生成HQL的执行计划-->优化器 生成最佳的执行计划 -->执行

explain plan for select * from emp where deptno=10;
--查看执行计划 select * from table(dbms_xplan.display);

HIVE的体系结构:

HADOOP:用HDFS进行存储,利用MapReduce进行计算
元数据存储(MstaStore):通常是存储在数据库,如mysql derby中

HIVE安装模式:

嵌入模式:

元数据信息被存储在Hive自带的DerBy数据库中,只允许创建一个连接、多用于Demo 本地模式:元数据信息被存储在MySql数据库中,MySql和Hive运行在同一台物理机中,多用于开发和测试

远程模式:

MySql和Hive不在同一操作系统,多用于生产环境

HIVE的管理:

端口号9999 启动方式:#hive --service hwi & 访问地址:http://IP:9999/hwi
下载原码进入hwi文件夹中打包 jar cvfM0 hive-hwi.war -C web/ .
将war包拷贝到lib目录下
修改配置文件hive-site.xml
需要拷贝jdk下的tools.jar到hive的lib下 不然会报错
在web下只能进行查询操作
HIVE的远程模式:
hive --service hiveserver 默认端口10000

【大数据系列】Hive安装及web模式管理的更多相关文章

  1. 大数据学习——hive安装部署

    1上传压缩包 2 解压 tar -zxvf apache-hive-1.2.1-bin.tar.gz -C apps 3 重命名 mv apache-hive-1.2.1-bin hive 4 设置环 ...

  2. 【大数据系列】安装Ambari

    一.Ambari简介 The Apache Ambari project is aimed at making Hadoop management simpler by developing soft ...

  3. 大数据系列之数据仓库Hive安装

    Hive系列博文,持续更新~~~ 大数据系列之数据仓库Hive原理 大数据系列之数据仓库Hive安装 大数据系列之数据仓库Hive中分区Partition如何使用 大数据系列之数据仓库Hive命令使用 ...

  4. 大数据系列(2)——Hadoop集群坏境CentOS安装

    前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...

  5. 大数据系列(4)——Hadoop集群VSFTP和SecureCRT安装配置

    前言 经过前三篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,当然,我相信安装的过程肯定遇到或多或少的问题,这些都需要自己解决,解决的过程就是学习的过程,本篇的来介绍几个Hadoop环 ...

  6. 大数据系列之数据仓库Hive原理

    Hive系列博文,持续更新~~~ 大数据系列之数据仓库Hive原理 大数据系列之数据仓库Hive安装 大数据系列之数据仓库Hive中分区Partition如何使用 大数据系列之数据仓库Hive命令使用 ...

  7. 大数据系列之数据仓库Hive中分区Partition如何使用

    Hive系列博文,持续更新~~~ 大数据系列之数据仓库Hive原理 大数据系列之数据仓库Hive安装 大数据系列之数据仓库Hive中分区Partition如何使用 大数据系列之数据仓库Hive命令使用 ...

  8. 12.Linux软件安装 (一步一步学习大数据系列之 Linux)

    1.如何上传安装包到服务器 有三种方式: 1.1使用图形化工具,如: filezilla 如何使用FileZilla上传和下载文件 1.2使用 sftp 工具: 在 windows下使用CRT 软件 ...

  9. 大数据系列(5)——Hadoop集群MYSQL的安装

    前言 有一段时间没写文章了,最近事情挺多的,现在咱们回归正题,经过前面四篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,相关的两款软件VSFTP和SecureCRT也已经正常安装了. ...

随机推荐

  1. nodejs基础 -- 全局对象

    全局对象:javascript中的一个特殊对象 全局变量:该特殊对象及其所有属性 该对象为:在浏览器javascript中,为window:在nodejs中,为global(所有全局变量都是globa ...

  2. Ubuntu Server对OpenStack的支持

    关于Ubuntu上OpenStack版本选择的问题, 就看这里. 从12.04 LTS起, Ubuntu云存档允许用户在下一个LTS版的Ubuntu发布前安装更新的OpenStack. 就拿Ubunt ...

  3. linux下重要的网络配置文件

    linux下重要的网络配置文件:一; /etc/sysconfig/network  文件内容: NETWORKING=yes                                <= ...

  4. AJAX简单介绍

     什么是AJAX Ajax 是 AsynchronousJavaScript and XML(以及 DHTML 等)的缩写. HTML 用于建立 Web表单并确定应用程序其它部分使用的字段. ·J ...

  5. 利用neon技术对矩阵旋转进行加速(2)

    上次介绍的是顺时针旋转90度,最近用到了180度和270度,在这里记录一下. 1.利用neon技术将矩阵顺时针旋转180度: 顺时针旋转180度比顺时针旋转90度容易很多,如下图 A1 A2 A3 A ...

  6. 64位系统web项目导出excel问题分析及解决方法汇总

    最近在web项目中做了一个导出Excel功能.在导出的时候报错:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败. 一 ...

  7. VIM复制粘贴大全[转]

    用vim这么久 了,始终也不知道怎么在vim中使用系统粘贴板,通常要在网上复制一段代码都是先gedit打开文件,中键粘贴后关闭,然后再用vim打开编辑,真的不 爽:上次论坛上有人问到了怎么在vim中使 ...

  8. synchronized关键字的用法总结

    synchronized关键字主要有以下这3种用法: 修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁 修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁 修饰代 ...

  9. java中substring的用法

    substring 1.public String substring(int beginIndex).     返回一个新的字符串,它是此字符串的一个子字符串.该子字符串始于指定索引处的字符,一直到 ...

  10. jQuery时间格式转换

    http://www.cnblogs.com/ShaYeBlog/p/4129301.html