云计算与大数据技术 课件14.2 Hive数据存储模型.pptx

云计算与大数据技术 课件14.2 Hive数据存储模型.pptx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Hive的数据存储模型

Hive的数据存储模型

Hive中所有的数据都被存储在HDFS中,没有专门的数据存储格式(可支持Text、Avro、ORC、SequenceFile、ParquetFile、RCFile等),只需要在创建表时指定Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。

Hive的数据存储模型

创建一个内部表cityInfo(cityID,cityName,population),代码如下:

createtablecityInfo(

cityIDstring,

cityNamestring,

populationint)

rowformatdelimited

fieldsterminatedby,

storedastextfile;

Hive的数据存储模型

Hive中的数据模型包括数据库(Database)、表(Table)、分区(Partition)和桶(Bucket)。

Hive的数据存储模型

(1)数据库(Database):在HDFS中,数据库表现为${hive.Metastore.warehouse.dir}目录下的一个文件夹。在创建表时,如果不指定数据库,则默认为“default”数据库。

(2)表(Table):在HDFS中,表表现为所属数据库目录下的一个文件夹。Hive中默认创建的是内部表,这种表的数据由Hive来管理。当删除表时,表的数据和元数据都会被删除。

Hive的数据存储模型

(3)分区(Partition):在Hive表查询时,可能只需要扫描表中的某部分数据,不需要扫描表中的全部内容,因此在建表时引入了分区的概念。

在Hive表查询时,如果指定了分区字段作为筛选条件,那么只需要到对应的分区目录中检索数据即可,减少了处理的数据量,从而有效地提高了效率。

Hive的数据存储模型

(4)桶(Bucket):桶可以被理解为将“大表”细分为“小表”的一种数据结构。这种设计主要是为了提高查询效率,使得进行抽样查询时更加便捷。

Hive的数据存储模型

桶是Hive数据模型中的最小单元。当某数据被加载到桶中时,首先会根据字段的值对其进行哈希处理,然后用哈希结果除以桶的数量来决定该数据应该存储在哪个桶中。这样就确保了每个桶中都有数据,但每个桶中的数据条数可能并不相等。

Hive的数据存储模型

数据加载-哈希取值-分桶

Hive的数据存储模型

桶是一种技术,用于将数据分解为更小、更易管理的部分。这种技术主要是为了提高数据的处理和查询效率。在Hive中,桶可以应用于表或分区。

Hive的数据存储模型

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档