HIVE入门

Hive概述

什么是 Hive?
* Hive 是建立在 Hadoop HDFS 上的数据库仓库基础建构
* Hive 可以用来进行数据库提取转化加载(ETL)
* Hive 定义了简单的类似 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据
* Hive 允许熟悉 MapReduce 的开发者自定义 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂工作
* Hive 是 SQL 解析引擎,它将 SQL 语句转化成 M/R Job,然后在 Hadoop 执行
* Hive 的表其实就是 HDFS 的目录/文件

Q:数据仓库与数据库的区别?
A:数据仓库是一个面向主题(用户关注的重点)的集成的(来自于分散的数据,可以来自于Oracle、Mysql、文本等)不可更新的(方便决策,所以一般只有查询功能)、随时间不变化的数据集合,它用于支持企业或组织的决策分析处理。

数据仓库的结构和建立过程
首先要有数据源,数据源可以不限;接着对不同的数据进行存储和管理,即ETL(抽取、转换(转换成符合格式要求的数据)、装载);最后要有数据仓库引擎,需要有不同的服务器提供不同的服务,例如,前端展示(数据查询、数据报表、数据分析、各类应用)。

OLTP应用与OLAP应用
OLTP应用:面向事物,频率非常高,例如,银行转账。转账和扣钱要同步
OLAP应用:面向分析查询,不会更新、删除、和更新操作,例如,推荐系统

Hive安装的三种方式

Hive的数据模型

  1. 星型模型:例如,推荐系统,以商品为中心,有很多订单信息、客户信息、厂家信息、促销信息、物流信息等边沿,构成了星星一样的模型。
  2. 雪花模型:基于星型模型发展起来的。例如,上述还可以客户信息模型为中心继续反战家庭信息、银行信息等,还可以以别的主题为中心继续发展,模型越发展越大,成为一个雪花模型。

Hive的体系结构

一、元数据
- Hive将元数据存储在数据库中(metastore),支持mysql、derby等数据库。默认存储在derby数据库中。
- Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),标的数据所在目录等
元数据例子

二、HQL的执行过程
解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后有MapReduce调用执行。
执行过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值