hive的数据存储

本文介绍了Hive的数据存储结构,包括数据库、表、视图、分区和表数据与HDFS的关系。Hive数据存储在HDFS中,支持多种文件格式,并详细说明了列和行的分隔符。此外,讨论了Hive的元数据存储通常在RDBMS如MySQL中,以及内部表、外部表、分区表和Bucket表的特性与使用场景。还对比了分区表和分桶表的区别,强调了Hive对HDFS数据的抽象管理而非直接管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、hive的存储结构包括数据库、表、视图、分区和表数据等。(其中数据库,表,分区等都对应hdfs上的一个目录,表数据对应hdfs对应目录下的文件)

2、hive中所有的数据都存储在hdfs中,没有专门的数据存储格式,因为hive是读模式 可支持TextFile,SequenceFile,RCFIle或者自定义格式等

3、只需要在创建表的时候告诉hive数据中的列分隔符和行分隔符,hive就可以解析数据

      hive的默认列分隔符:控制符 (Ctrl+A)\x01

      hive的默认行分隔符:换行符 \n

4、hive中包含以上数据模型:

  database:在 HDFS 中表现为${hive.metastore.warehouse.dir}目录下一个文件夹

table:在 HDFS 中表现所属 database 目录下一个文件夹  

external table:与 table 类似,不过其数据存放位置可以指定任意 HDFS 目录路径

partition:在 HDFS 中表现为 table 目录下的子目录

bucket:在 HDFS 中表现为同一个表目录或者分区目录下根据某个字段的值进行 hash 散 列之后的多个文件

view:与传统数据库类似,只读,基于基本表创建 
 
5、Hive 的元数据存储在 RDBMS 中,除元数据外的其它所有数据都基于 HDFS 存储。默认情 况下,Hive 元数据保存在内嵌的 Derby 数据库中,只能允许一个会话连接,只适合简单的 测试。实际生产环境中不适用,为了支持多用户会话,则需要一个独立的元数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值