在Hadoop的存储处理方面提供了两种不同的机制,一种是之前介绍过的Hbase,另外一种就是Hive,有关于Hbase,它是一种nosql数据库的一种,是一种数据库,基于分布式的列式存储,适合海量数据的操作,,底层依赖HDFS,与rdbms的区别和其他的nosql基本类似,例如不支持sql语句对于数据进行操作,具体的关于Hbase的细节可以去参考我的上一篇博客,今天我们会通过hive和Hbase的区别对于hive进行相应的讲解。

Hive 在其官方网站上的定义说hive是一个数据仓库(数据仓库中存储数量级大且数据结构复杂的数据,是多个其他数据库的集合)的软件,通过sql的方式帮助用户读写管理分布式存储中的数据,展开来说:Apache Hive是一个建立在Hadoop上的数据仓库基础架构,它可以使用类似于sql语句的Hql对于存储在HDFS上的数据进行相应的操作,可以转化为MapReduce作业,但是,虽然相比于Hbase,hive提供了大家所熟悉的sql的功能,但是,对于一般sql的交互式查询还是没有被支持,Hive实际上就是只在Hadoop上运行批处理,而HBase操作的是数据库而不是在mapreduce上实时运行

Hive可以做什么:

1、ETL(把多个关系型数据库存储到数据仓库中的数据迁移过程就是ETL(flume/sqoop),包括数据的抽取,转化,落地,加载等操作)、reporting、数据分析

2、可以把多种数据进行格式化或者结构化管理的工具

3、可以更加简洁的访问HDFS或者Hbase

4、可以直接通过sql直接使用访问Mapreduce等框架

Hive的组件

1、服务端组件:

Driver组件:包括编译器、优化器、执行器,将我们写的HQL进行解析,便宜又话,生成执行计划,然后调用底层的计算框架

Metastore组件:元数据服务组件,负责存储hive的元数据,存储在关系型数据库中

Thrift服务:用来进行可扩展且跨语言的开发服务

Hive集成服务:能让不同的开发语言调用hive接口

2、客户端组件:

CLI:命令行接口,可以使用命令操作查看

Thrift客户端:hive的许多客户端接口是建立在thrift客户端的基础之上的,包括JDBC等

WEB UI :可以在浏览器中访问hive提供的服务接口

优点及使用场景

操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手);

避免了去写MapReduce,减少开发人员的学习成本,可以直接写sql进行操作;

统一的元数据管理,可与impala/spark等共享元数据;

易扩展(HDFS+MapReduce:可以扩展集群规模;支持自定义函数);

数据的离线处理;比如:日志分析,海量结构化数据离线分析…

Hive的执行延迟比较高,因此hive常用于数据分析的,对实时性要求 不高的场合;

Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执 行延迟比较高。

而对于Hive的执行流程,我借用某大神的一句神总结:将用户提交的SQL语句转换成Hadoop上的MR任务执行,并向用户返回结果。(Sql传入之后会提交到编译器中,编译器分析sql,然后去元数据中查数据的位置以及查看sql要进行什么操作,然后转化成mapreduce程序(执行计划),吧执行计划交给执行器,然后执行器开始执行并将结果进行返回到客户端,而优化器的作用就是对整个计算过程进行优化,比如在数据量特别小的时候就直接在内存中申请处理)

如需更多的交流可以添加qq群859121793
或添加微信群

Hadoop(5)-Hive的更多相关文章

  1. CDH(Cloudera)与hadoop(apache)对比

    本文出自:CDH(Cloudera)与hadoop(apache)对比http://www.aboutyun.com/thread-9225-1-1.html(出处: about云开发)   问题导读 ...

  2. Hive(八)Hive的Shell操作与压缩存储

    一.Hive的命令行 1.Hive支持的一些命令 Command Description quit Use quit or exit to leave the interactive shell. s ...

  3. Hive(二)hive的基本操作

    一.DDL操作(定义操作) 1.创建表 (1)建表语法结构 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name[(col_name data_type ...

  4. 基于Docker搭建大数据集群(六)Hive搭建

    基于Docker搭建大数据集群(六)Hive搭建 前言 之前搭建的都是1.x版本,这次搭建的是hive3.1.2版本的..还是有一点细节不一样的 Hive现在解析引擎可以选择spark,我是用spar ...

  5. [转帖]Hive学习之路 (一)Hive初识

    Hive学习之路 (一)Hive初识 https://www.cnblogs.com/qingyunzong/p/8707885.html 讨论QQ:1586558083 目录 Hive 简介 什么是 ...

  6. 大数据学习笔记之Hadoop(一):Hadoop入门

    文章目录 大数据概论 一.大数据概念 二.大数据的特点 三.大数据能干啥? 四.大数据发展前景 五.企业数据部的业务流程分析 六.企业数据部的一般组织结构 Hadoop(入门) 一 从Hadoop框架 ...

  7. 《Programming Hive》读书笔记(两)Hive基础知识

    <Programming Hive>读书笔记(两)Hive基础知识 :第一遍读是浏览.建立知识索引,由于有些知识不一定能用到,知道就好.感兴趣的部分能够多研究. 以后用的时候再具体看.并结 ...

  8. Hive(九)Hive 执行过程实例分析

    一.Hive 执行过程概述 1.概述 (1) Hive 将 HQL 转换成一组操作符(Operator),比如 GroupByOperator, JoinOperator 等 (2)操作符 Opera ...

  9. Hadoop(2)--hdfs

    Hadoop(2) Hadoop底层封装的的是HDFS和MapReduce两种框架 在Hdfs中采用的是主从结构(Madter-slaver)就像领导和员工一样,领导负责整个公司的管理工作,而员工就负 ...

随机推荐

  1. tcp/ip 调优示例

    # Kernel sysctl configuration file for Linux # # Version 1.12 - 2015-09-30 # Michiel Klaver - IT Pro ...

  2. java:反射机制

    Java反射机制及IoC原理:https://www.cnblogs.com/Eason-S/p/5851078.html Java中反射机制详解:https://www.cnblogs.com/wh ...

  3. DevExpress控件水印文字提示 z

    ButtonEdit.Properties.NullValuePrompt = "提示"; ButtonEdit.Properties.NullValuePromptShowFor ...

  4. 开源监控zabbix的搭建

    yum-nginx-php-mysql 1.依赖安装 1.依赖 yum -y install pcre* openssl* 2.php rpm -Uvh https://mirror.webtatic ...

  5. spring-4.3.16+xfire-spring-1.2.6版本升级

    最近爆了个spring的漏洞,然后公司整体要求升级spring到最新版本,然后搞四了一大批猿人. spring-4.*的最新版本是4.3.16(稳定版) xfire-spring-1.2.6(最新版- ...

  6. poj2253 Frogger dijkstra

    题目大意: 给出n个岛的坐标,前两个坐标分别为A青蛙和B青蛙所在岛的坐标,A青蛙想到达B青蛙所在的岛,A可以从某一个岛跳到任意其它一个岛上,则A到B的每条路径都有一个跳的最远的距离Xi,求这些最远距离 ...

  7. C语言 宏的定义

    #include <stdio.h> // NUM叫做宏名 // 6是用来替换宏名的字符串 #define NUM 6 #define mul(a, b) ((a)*(b)) void t ...

  8. BZOJ1123:[POI2008]BLO(双连通分量)

    Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通. Input 输入n&l ...

  9. 【[HAOI2008]木棍分割】

    没写过几道的前缀和优化\(dp\) 第一问是小学生难度的二分 第二问就直接\(dp\)了 设\(dp[i][j]\)表示当前分割点在\(i\)之后,前面一共分割了\(j\)段的方案数 利用前缀和单调性 ...

  10. 项目Alpha冲刺(团队7/10)

    项目Alpha冲刺(团队7/10) 团队名称: 云打印 作业要求: 项目Alpha冲刺(团队) 作业目标: 完成项目Alpha版本 团队队员 队员学号 队员姓名 个人博客地址 备注 221600412 ...