Hive学习第一章:基本概念

目录

 

1.1 什么是hive?

1.2 hive的优缺点 

1.3 hive的架构原理 

1.4 hive和数据库的比较 


正文

1.1 什么是hive?

hive由Facebook开源用于解决海量结构化日志的数据统计,是基于hadoop的一个数据仓库工具,可以将结构化数据文件映射成一张表,并提供类SQL查询功能

本质:将HQL转化成MapReduce程序

  • hive的计算存储在hdfs上
  • hive底层分析数据的方式是mapreduce
  • hive执行程序运行在yarn上

1.2 hive的优缺点 

1.2.1 优点

  1. 操作接口采用类SQL语句,开发速度快,简单,容易上手
  2. 避免了写MapReduce,减少了学习成本
  3. hive有执行延迟情况,不适合于实时性的数据,适合用于数据分析
  4. hive适合处理大数据,不适合处理小数据,因为它有执行延迟比较高
  5. hive支持用户自定义函数,灵活性高

1.2.2 缺点

  1. HQL表达能力有限,对于迭代式的算法无法表达,不擅长数据挖掘
  2. 自动生成MapReduce作业,不够智能化,粒度较粗,不利于优化

1.3 hive的架构原理 

元数据包括:表名、表所属的数据库、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的所在目录等。元数据默认存储在derby数据库中,推荐使用MySQL的 MetaStore

1.4 hive和数据库的比较 

1.4.1 查询语句

由于SQL被广泛的应用于数据仓库,因此针对hive专门设计了类SQL的HQL查询语句,方便进行开发

1.4.2 数据存储位置

hive是建立在hadoop的基础上,hive的数据储存都是在hdfs中的,而数据库可以将数据保存在块设备或者自己的本地文件系统中

1.4.3 数据更新

hive是针对数据仓库应用设计的,数据仓库的内容是读多写少,因此hive不建议对已有的数据进行改写,因为数据都是在加载的时候确定好的

1.4.4 索引

hive没有索引,访问满足条件的特定值的时候,需要暴力扫描整个数据,因此访问延迟较高

1.4.5 执行

hive大多数的查询是通过hadoop提供的MapReduce来实现的,而数据库通常有自己的执行引擎

1.4.6 执行延迟

一方面hive访问数据的时候是扫描整个数据,另一方面他的执行是通过MapReduce框架执行的,该框架本身具有延迟性

1.4.7 可扩展性

hive是基于hadoop的,所以其扩展性和hadoop一致的

1.4.8 数据规模

hive建立在集群上,并且可以利用MapReduce进行并行计算

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值