Hive及其工作机制简介

Hive是一个基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一个表。并提供类SQL查询功能。

数据仓库

数据库是用来支撑在线联机业务的。比如页面上的数据的展示,保存客户操作产生的数据。这类要求变更是实时的、事务的

数据仓库:如果联机数据库中的数据太大了,需要将历史信息导入到离线的仓库中。可以存入各种各样的系统的数据。可以按照一定主题来组织这些表。每一个主题中的数据可能结构跟系统的表不同。可能需要从运行数据库中多个表中得到。面向历史的。

数据仓库的建模模型

不遵循数据库范式,绝大部分是宽表,冗余没关系。因为目标不同,设计就不同。大部分都是以空间换时间。

几个建模的模型:

  • 星型
  • 雪花型
  • 三范式型(不常用)

数据仓库有什么用

做统计,做数据分析。比如统计年度销售额,月度销售额,广告推荐等。

为什么用Hive

使用Hadoop面临的问题:

  • 学习成本很高
  • 项目周期要求太短
  • MapReduce实现复杂查询逻辑开发难度太大

为什么用Hive:

  • 操作接口采用类SQL语法,提供快速开发的能力。
  • 避免了写MapReduce

Hive的工作机制

将清洗过的数据放入到HDFS中,就可以进行各种统计了。但是有些需求用MapReduce写起来非常难,所以有了Hive。

先上一张架构图。

Hive提供接口,用户可以用它创建表。表会放在/user/hive/warehouse/,一张表就是一个目录。元信息会记录在关系型数据库中(MySQL),它也内置了Debby,但是它是嵌入式的数据库,会造成不同Hive建表不可见的问题。

可以在Hive中建表,最好字段类型都用String,比较方便。

然后就可以使用SQL语句查询了。每一个SQL语句都被Hive的语法解析器解析、组装成一个MapReduce程序,然后提交给YARN,运行完成后就可以把结果输出出来。也可以把结果写到其他表里面。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值