Hive 数据类型和存储格式、建表操作

本文详细介绍了Hive的基本数据类型,包括TINYINT、SMALLINT、INT、BIGINT等,并讲解了集合数据类型如ARRAY、MAP、STRUCT和UNIONTYPE。此外,还阐述了Hive的存储格式,如TEXTFILE、SEQUENCEFILE和RCFILE,以及自定义文件格式。建表操作中提到了ROW FORMAT DELIMITED、FIELDS TERMINATED BY等设置。HQL部分涉及数据库、表的创建、切换和删除,以及分区表的概念和操作。最后,讨论了管理表和外部表的区别,以及如何修改表结构和管理分区。

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

本文部分内容来源《Hadoop海量数据处理 技术详解与项目实战》人民邮电出版社

一、 基本数据类型

数据类型所占字节开始支持版本TINYINT1byte,-128 ~ 127SMALLINT2byte,-32,768 ~ 32,767INT4byte,-2,147,483,648 ~ 2,147,483,647BIGINT8byte,-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807BOOLEANFLOAT4byte单精度DOUBLE8byte双精度STRINGBINARYHive0.8.0TIMESTAMPHive0.8.0DECIMALHive0.11.0CHARHive0.13.0VARCHARHive0.12.0DATEHive0.12.0

二、 集合数据类型

数据类型所占字节开始支持版本ARRAYARRAY类型是由一系列相同数据类型的元素组成,这些元素可以通过下标来访问。比如有一个ARRAY类型的变量fruits,它是由[‘apple’,’orange’,’mango’]组成,那么我们可以通过fruits[1]来访问元素orange,因为ARRAY类型的下标是从0开始的;MAPMAP包含key->value键值对,可以通过key来访问元素。比如”userlist”是一个map类型,其中username是key,password是value;那么我们可以通过userlist[‘username’]来得到这个用户对应的password;STRUCTSTRUCT可以包含不同数据类型的元素。这些元素可以通过”点语法”的方式来得到所需要的元素,比如user是一个STRUCT类型,那么可以通过user.address得到这个用户的地址。UNIONUNIONTYPEHive 0.7.0开始支持

三、 存储格式

Hive支持的文件存储格式有

- TEXTFILE

- SEQUENCEFILE

- RCFILE

- 自定义格式

在建表的时候,可以使用STORED AS子句指定文件存储的格式。

TEXTFILE

即通常说的文本格式,默认长期,数据不做压缩,磁盘开销大、数据解析开销大。

SEQUENCEFILE

Hadoop提供的一种二进制格式,使用方便、可分割、可压缩,并且按行进行切分

RCFILE

一种行列存储相结合的存储方式,首先,其将数据按行分块,保证同一条记录在一个块上,避免读一条记录多个块。其次,块上的数据按照列式存储,有利于数据压缩和快速地进行列存取。

自定义文件格式

用户通过实现InputFormat和OutputFormat来自定义输入输出格式。

四、 数据格式

当数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值