美文网首页程序员每天写1000字想法
Hive数据模型相关的主要概念介绍

Hive数据模型相关的主要概念介绍

作者: 皮皮杂谈 | 来源:发表于2019-05-31 01:15 被阅读14次

Hive中所有的数据都存储在HDFS中,并没有专门的存储格式,也没有为数据建立索引,他可以非常自由地组织表结构。使用者只需要在创建表的时候指定字段列为分隔符和记录行分隔符,Hive就可以进行解析。尽管如此,Hive的数据模型仍然包括几个主要概念:数据库(Database)、表(Table)、分区(Partition)和桶(Bucket)。如下图所示:

Hive数据模型

数据库:它的作用是将用户的应用隔离到不同的数据模式中,Hive 0.6.0之后的版本都支持数据库,相当于关系型数据库里的命名空间(Namespace)。

表:Hive的表和数据库中的表在概念上非常接近,在逻辑上,其由描述表格形式的元数据和存储于其中的具体数据共同组成,可以分为托管表和外部表。托管表在Hive中有一个对应的目录,所有的数据都存储在这个目录中。而外部表的数据文件可以存放在Hive仓库以外的分布式文件系统上。表删除的DROP命令对于这两种类型产生的效果也不同,对托管表执行DROP命令的时候,会同时删除元数据和其中存储的数据,而对外部表执行该命令的时候,则只能删除元数据,而不会删除外部分布式系统上所存储的数据。

分区:Hive中的分区方式和数据库中的差异很大,他的概念是根据分区列对表中的数据进行大致地划分。这里,分区列不是表里的某个字段,而是一个独立的列。前面提到过Hive表就是通过分布式文件系统的目录来实现的,那么相应地,表的分区在Hive存储上就体现为主目录下的多个子目录,而子目录的名称就是分区列的名称。使用分区的好处在于,查询某个具体分区列里的数据时不用进行全表扫描,可以大大加快范围内的查询。

桶:表和分区都是在目录级别上进行数据的拆分,而桶则是对数据源数据文件本身进行数据拆分。使用桶的表会将源数据文件按一定的规律拆分成多个文件。

相关文章

  • Hive数据模型相关的主要概念介绍

    Hive中所有的数据都存储在HDFS中,并没有专门的存储格式,也没有为数据建立索引,他可以非常自由地组织表结构。使...

  • Hive的架构剖析

    本文主要介绍Hive的架构和以及HQL的查询阶段,主要内容包括: Hive的架构 架构中的相关组件介绍 HQL的查...

  • 数仓--Hive-面试之Hive的数据模型及各模块的应用场景

    这个讲起来搞不好让手写代码,扩展延申的问 Hive的数据模型 数据模型组成及应用场景 Hive的数据模型主要有:d...

  • HIVE基础语法

    1、HIVE基本结构 Hive中主要包含以下几种数据模型:database(数据库),Table(表),Exter...

  • Hive环境搭建及简单使用

    前言: 上篇文章我们介绍了Hive源码编译的相关内容,本篇文章将主要介绍Hive环境的搭建步骤及简单使用。 1.下...

  • Hive环境搭建及简单使用

    前言: 上篇文章我们介绍了Hive源码编译的相关内容,本篇文章将主要介绍Hive环境的搭建步骤及简单使用。 1.下...

  • Hive之相关概念

    HIVE SQL的编译过程:https://tech.meituan.com/2014/02/12/hive-sq...

  • hive学习

    1 Hive Metastore 1.1相关概念 Hive Metastore有三种配置方式,分别是: Embed...

  • PowerDesigner03 概念数据模型(CDM)

    索引 概念数据模型(CDM)概述 概念数据模型(CDM)创建步骤 学生、班级、老师概念数据模型 概念数据模型(CD...

  • Hive使用必知必会系列

    一、Hive的几种数据模型 内部表 (Table 将数据保存到Hive 自己的数据仓库目录中:/usr/hive/...

网友评论

    本文标题:Hive数据模型相关的主要概念介绍

    本文链接:https://www.haomeiwen.com/subject/ktditctx.html