【Hive学习笔记】Hive入门篇

数据仓库

1.数据仓库面向主题
2.数据仓库是集成的
3.数据仓库主要为分析挖掘,只查询,不增改

OLTP:银行转账,同时完成
OLAP:历史数据,商品推荐系统

数据仓库中的数据模型:
1.星型模型
2.雪花模型:由星型模型发展而来。(个人理解,叶节点更多了,等于主题更多了,而星型模型只有一个主题)

HIVE

Hive是建立在hadop hdfs上的数据仓库基础架构
Hive可以用来进行数据提取、转化、加载(ETL)
Hive是SQL解析引擎,将SQL语句转移成M/R Job然后在Hadoop执行

Hive的元数据

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

Hive数据类型

1.基本数据类型
string、boolean、double,int
varchar(20) 最大的长度20
char(20) 固定的长度20

2.复杂数据类型
array----数组类型,由一系列相同数据类型的元素组成
map----集合类型,包含key-->value
struct ----结构类型,可以包含不同数据类型的元素,通过“点语法”查询

3.时间类型
Date----特定的日期,年月日
Timestamp----与时区无关,是一种偏移量的表示方式

Hive的数据存储

1.基于HDFS文件系统
2.没有专门的数据存储格式
3.存储结构主要包括:数据库、文件、表、视图
4.可以直接加载文本文件
5.创建表时,指定Hive数据的列分隔符和行分隔符

1.Table 内部表

  • 每一个table在hive中都有一个相应的目录存储数据
  • 所有的table数据都保存在这个目录中
  • 删除表时,元数据与数据都会被删除

2.Partiton 分区表

  • Partiton对应于数据库的Partition列的密集索引
  • 在Hive中,表中的一个Partition对应于表下的一个目录,所有的Partition的数据都存储于对应的目录中。

3.External Table 外部表

  • 指向已经在HDSF中存在的数据,可以创建parititon
  • 它和内部表在元数据的组织上是相同的,而实际数据的存储则有较大差异
  • 外部表只有一个过程,加载数据和创建表同时完成,并不会移动到数据仓库目录中,只是与外部数据建立一个链接,当删除一个外部表时,仅删除该链接。
    外部表需要指定location

4.Bucket Table 桶表
对数据进行hash映射处理后,存放在不同文件下,可避免造成系统热块,相同哈希值的存放在同一文件下。

视图

  • 视图是一种虚表,是一个逻辑概念,可以跨越多张表;视图建立在已有表的基础上,这些基础称为基表。
  • 视图可以简化复杂的查询。

你可能感兴趣的:(【Hive学习笔记】Hive入门篇)