Hive基本概念

Hive的基本概念

  1. 开发者: Facebook实现并开源
  2. 作用: 基于Hadoop的一个数据仓库工具,可以将结构化的数据映射为一张数据库表,并提供HQL(Hive SQL)查询功能,底层数据是存储在HDFS上。
  3. 本质: 将SQL语句转换为MapReduce任务运行,使不熟悉Mapreduce的用户很方便地利用HQL处理和计算HDFS上的结构化的数据,使用于离线的批量数据计算。 Hive 依赖于 HDFS 存储数据,Hive 将 HQL 转换成 MapReduce 执行 所以说 Hive 是基于 Hadoop 的一个数据仓库工具,实质就是一款基于 HDFS 的 MapReduce 计算框架,对存储在 HDFS 中的数据进行分析和管理

    hbase 和 hive 的区别

    hbase: 数据库
    hive : 数据仓库
    区别:
    1、数据库,对于数据会做精细化的管理,具有事务的概念
       数据仓库,存储数据的格式就类似打包,没有事务的概念
    2、操作方式的区别:
       数据库:NoSQL语法  put get scan delele
       数据仓库: SQL方言 Hive的SQL ===  HQL     hibernate:HQL
    3、用途的区别:
       数据库:OLTP  联机事务处理   增删改
       数据仓库: OLAP   联机分析处理   查询
       hive是数据仓库,它根本就不支持 update和delete   但是支持insert
    4、模式上的区别
        数据库: 写模式    hbase无严格模式 : 仅有的模式校验只有 表名和列簇的名称
        数据仓库:  读模式
    

    Hive的特点

    优点

  4. 可扩展性,横向扩展,Hive 可以自由的扩展集群的规模,一般情况下不需要重启服务 横向扩展:通过分担压力的方式扩展集群的规模 纵向扩展: 一台服务器cpu i7-6700k 4核心8线程, 8核心16线程,内存64G => 128G
  5. 延展性,Hive 支持自定义函数,用户可以根据自己的需求来实现自己的函数
  6. 良好的容错性,可以保障即使有节点出现问题,SQL 语句仍可完成执行

    缺点

  7. Hive 不支持记录级别的增删改操作,但是用户可以通过查询生成新表或者将查询结 果导入到文件中(当前选择的 hive-2.3.2 的版本支持记录级别的插入操作)
  8. Hive 的查询延时很严重,因为 MapReduce Job 的启动过程消耗很长时间,所以不能 用在交互查询系统中。
  9. Hive 不支持事务(因为不没有增删改,所以主要用来做 OLAP(联机分析处理),而 不是 OLTP(联机事务处理),这就是数据处理的两大级别)

Hive 只适合用来做海量离线数 据统计分析,也就是数据仓库

0%