Hive基本介绍

Hive介绍

  • facebook开源
  • 设计目的:Hive期初是为了提供给那些精通sql但是java编程能力相对较弱的数据工程师能够对facebook上存放的HDFS的大规模数据集进行查询
  • Hive是构建在hdfs上的数据仓库框架
    • 计算框架为MapReduce
    • 数据存储在HDFS
  • 适合离线数据处理
  • 将HQL转为MR的语言翻译

Hive场景应用举例

  1. 日志分析
  • 统计网站一个时间段内的pv、uv
  • 多维度数据分析
  1. 海量结构化数据离线分析

Hive优缺点

优点

  • 易上手
  • 提供统一的元数据管理
  • 多接口:Beeline,ODBC,JBCD,python,Thrift
  • 类sql:类似sql ,提供大量内置函数
  • 延展性:用户可根据自己的需求自定义函数
  • 良好的容错性,节点出现问题SQL任可继续执行

缺点

  • 不支持事务
  • 表达能力有限
  • 效率比较低
    1. 调优困难
    2. 可调控性差
    3. 延迟较高:默认MR为执行引擎,MR延迟较高

Hive与传统数据库对比

image.png

image.png

读时模式与写时模式

  • 读时模式与写时模式

    1. 写时模式(传统数据库)
    • 描述:在数据写入数据库时,对照模式进行检验
    • 优点:在写入时已经对数据列进行索引排序,有利于提升查询速度
    • 缺点:加载数据会花费更多时间,在加载模式为确定的情况下,查询条件未知时,不能提前确定会使用何种索引
    1. 读时模式(Hive)
    • 描述:数据在查询时才对数据进行验证
    • 优点:数据加载速度快,就是单纯的文件的复制与移动(数据在加载时不会对数据进行解析,序列化,在写入磁盘)
    • 缺点:

你可能感兴趣的:(Hive基本介绍)