Hive-1.Hive入门介绍

来源:互联网 发布:v8激光雕刻切割机软件 编辑:程序博客网 时间:2024/04/27 20:55

1.Hive是什么

Hive是数据仓库,是SQL解析引擎,查询存储HDFS上数据。

 

2.Hive 元数据保存的方法以及特点

Hive元数据存储metastore中。

(1)metastore存储Hive表和HDFS的对应关系

l Hive中的数据库对应HDFS中的文件夹

l Hive中表对应HDFS中的文件夹

l Hive中记录对应HDFS中的数据

注意: Hive中的数据文件在metastore表中没有体现

 

(2)元数据存储两种方法

l (1)derby数据库

默认内存数据库,一次只能打开一个会话,会话关闭metastore数据消失

l (2)MySQL数据库

外部metastore存储引擎,可以让多个会话使用

 

3. Hive Hadoop交互原理

 

 

 

4. Hive和传统数据库比较,有有什么特点(2)

(1)Hive 是读模式;传统数据库为写模式

(2) Hive支持分区级、insert,而对于Hive的更新可以通过HBase来完成;传统数据库支持分区、insert、索引、更新。

 

5. Hive 内部表和外部表的区别

Hive创建的表默认存储的目录/usr/local/warehouse

(1) Hive内部表也叫受控表

删除内部表,元数据和hdfs上存储数据都会被删除

(2) Hive的外部表

删除外部表,仅Hive元数据被删除,存储hdfs上数据不会被删除。hdfs上的数据一般为基础数据,hive中的表都是一些业务数据,故hdfs上的数据是不能删除的,所以生产环境都是使用外部表

 

6. Hive的数据类型以及使用场景

(1)普通类型

(2)复合类型: array,map,struct

对与Hive的复合类型,可以解决关系型数据库一对多的问题。

7.Hive的分区和分桶作用以及使用场景

(1) Hive 分区

分区就是对文件可以进行多级目录的管理。例如: 网站产生的访问日志,一般会每天生成一个文件,这样可以按照日期分区,查询的时候可以根据日期查询,这样可以快速查询数据。

 

(2)Hive的分桶

数据加载到桶表时,会对字段取hash值,然后与桶的数量取模。把数据放到对应的文件中。

一般使用的场景:获取更高的查询效率(因为数据按照hash存储)、取样(可以对部分数据试运行)。

 

创建一个分桶表

create table t_bucket(id int,name string) clustered by(id) sorted by (id asc) into 4 buckets; 

0 0
原创粉丝点击