Hive
中所有的数据都存储在
HDFS
中,
Hive
中包含以下数据模型:
Table
,
External
Table
,
Partition
,
Bucket
。
-
Hive
中的
Table
和数据库中的
Table
在概念上是类似的,每一个
Table
在
Hive
中都有一个相应的目录存储数据。例如,一个表
pvs
,它在
HDFS
中的路径为:
/wh/pvs
,其中,
wh
是在
hive-site.xml
中由
${hive.metastore.warehouse.dir}
指定的数据仓库的目录,所有的
Table
数据(不包括
External Table
)都保存在这个目录中。
-
Partition
对应于数据库中的
Partition
列的密集索引,但是
Hive
中
Partition
的组织方式和数据库中的很不相同。在
Hive
中,表中的一个
Partition
对应于表下的一个目录,所有的
Partition
的数据都存储在对应的目录中。例如:
pvs
表中包含
ds
和
city
两个
Partition
,则对应于
ds = 20090801, ctry = US
的
HDFS
子目录为:
/wh/pvs/ds=20090801/ctry=US
;对应于
ds = 20090801, ctry = CA
的
HDFS
子目录为;
/wh/pvs/ds=20090801/ctry=CA
-
Buckets
对指定列计算
hash
,根据
hash
值切分数据,目的是为了并行,每一个
Bucket
对应一个文件。将
user
列分散至
32
个
bucket
,首先对
user
列的值计算
hash
,对应
hash
值为
0
的
HDFS
目录为:
/wh/pvs/ds=20090801/ctry=US/part-00000
;
hash
值为
20
的
HDFS
目录为:
/wh/pvs/ds=20090801/ctry=US/part-00020
-
External Table
指向已经在
HDFS
中存在的数据,可以创建
Partition
。它和
Table
在元数据的组织上是相同的,而实际数据的存储则有较大的差异。
-
Table
的创建过程和数据加载过程(这两个过程可以在同一个语句中完成),在加载数据的过程中,实际数据会被移动到数据仓库目录中;之后对数据对访问将会直接在数
据仓库目录中完成。删除表时,表中的数据和元数据将会被同时删除。
-
External Table
只有一个过程,加载数据和创建表同时完成(
CREATE EXTERNAL TABLE
……LOCATION
),实际数据是存储在
LOCATION
后面指定的
HDFS
路径中,并不会移动到数据仓库目录中。当删除一个
External Table
时,仅删除
元信息。
分享到:
相关推荐
本篇内容主要围绕《Hive数据模型操作》这一主题展开,旨在教授学生如何在Hive数据仓库中执行各种数据模型操作。Hive是一个基于Hadoop的数据仓库工具,可将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,...
【Hive 数据模型操作】 Hive 是一个基于 Hadoop 的数据仓库工具,它允许通过 SQL-like 语言(HQL)对大数据集进行分析和处理。本篇内容主要讲解了 Hive 数据模型的操作,包括数据库和内部表的相关操作。 一、Hive ...
2. **Hive数据模型**:Hive支持两种基本的数据模型——表和分区。表是数据的基本单位,可以有多个字段(columns),每个字段都有特定的数据类型。分区则是为了优化查询性能,将大表按特定字段(如日期或地区)划分为...
三、Hive数据模型 Hive的数据模型包括表、分区和桶。表是基本的数据结构,可以被划分为多个分区,每个分区代表一个子集。桶是可选的,用于实现数据的并行处理和优化查询。 四、HQL语言 HQL提供了丰富的SQL操作,...
三、Hive数据模型 Hive的数据模型基于传统的关系型数据库模型,包括数据库(Database)、表(Table)、分区(Partition)和桶(Bucket)。数据库是逻辑上的组织单元,表是数据的容器,分区是按照特定字段划分数据的...
Hive 数据模型包括内部表(Internal Table)、外部表(External Table)、分区(Partition)和桶(Bucket)。内部表的数据由 Hive 管理,当删除表时,数据也会被删除。外部表仅管理表的元数据,数据的生命周期独立于...
因此,在设计Hive数据模型时,应尽可能减少UPDATE和DELETE操作,优先考虑INSERT和REPLACE INTO等方法来维护数据。 在实际应用中,Hive更新数据通常涉及以下步骤: 1. **创建一个临时表**:用于存放更新后的数据。 2...
Hive数据模型是指Hive中的数据组织方式。Hive数据模型包括表、分区和桶等概念。表是Hive中的基本数据组织单元。分区是表的一种逻辑划分方式,可以根据不同的维度对表进行划分。桶是Hive中的物理存储单元,可以将表中...
三、Hive数据模型 Hive的数据模型基于关系型数据库,包括数据库、表、分区和桶。其中,表可以被划分为多个分区,以提高查询效率;桶则用于实现数据的排序和并行处理。 四、Hive操作 1. 创建表:用户可以使用CREATE ...
4. **Hive数据模型**:Hive的数据模型包括数据库、表、分区和桶。数据库是逻辑上的组织单位,表是数据的存储容器,分区是表的逻辑划分,用于优化查询,桶则是为了实现数据的分布和并行化。 5. **HQL(Hive Query ...
3. **Hive数据模型**:理解Hive的数据模型,包括表、分区、桶等概念,以及如何创建和管理这些数据结构。 4. **HQL语言**:详尽解析HQL(Hive Query Language),包括DML(数据操作语言)、DDL(数据定义语言)和DCL...
本实战数据集主要涉及两个核心部分:`video`数据和`user`数据,这些都是构建大数据分析模型的基础元素。让我们深入探讨一下这两个部分以及与Hive、大数据、Hadoop和数据仓库相关的知识点。 首先,`video`数据可能...
4. **Hive数据模型**:Hive支持两种表类型——Managed Table和External Table。Managed Table由Hive管理,包括生命周期和位置;External Table仅管理元数据,实际数据的删除不受Hive控制。 5. **分区和桶**:分区是...
综上所述,《Apache-Hive-Cookbook》这本书涵盖了从部署配置 Hive 到使用其客户端和服务的各个方面,同时还深入介绍了如何理解和利用 Hive 的数据模型。对于希望深入了解和高效使用 Hive 的开发者来说,这些知识点...
### Hive数据模型 Hive的数据模型包括数据库、文件、表和视图等组成部分。其中: - **数据库**: 用于组织和管理多个表的集合。 - **文件**: 数据的具体存储形式,Hive本身并不规定特定的文件格式,常见的有Text...
3. **Hive 数据模型**:Hive 支持两种基本的数据模型:表和分区。表是数据的基本组织单元,可以包含多个字段。分区是一种逻辑上的划分,用于将大数据集划分为更小、更易管理的部分。 4. **HiveQL (Hive Query ...
四、Hive数据模型 Hive中的数据模型由表、分区和桶组成。表是数据的基本单位,可以按照特定列(如日期)进行分区,以提高查询效率。桶是基于哈希函数对数据进行分组,有助于优化某些类型的连接操作。 五、Hive表和...
Hive数据模型基于关系型数据库,但不支持事务。表可以是Managed或External,Managed表由Hive管理生命周期,External表只管理元数据,数据删除需手动。 5. **Hive的存储格式**: Hive支持多种存储格式,如TextFile...
海量数据处理-hive数据仓库 很好的讲解的大数据海量数据处理的数据仓库模型建设