列类型
Hive支持的数据类型如下:
原生数据类型:
- TINYINT
- SMALLINT
- INT
- BIGINT
- BOOLEAN
- FLOAT
- DOUBLE
- STRING
- BINARY(好像是较高版本才有的类型)
- TIMESTAMP
复合类型:
- arrays:ARRAY<data_type>
- maps:MAP<primitive_type,data_type>
- structs:STRUCT<col_name : data_type>
- union:UNIONTYPE<data_type,data_type,....>
时间戳
支持传统的unix时间戳,可选的纳秒级精度。
支持的转换:
- 整型数值类型:解读为以秒为单位的UNIX时间戳
- 浮动点数值类型:解读为以秒和小数精度为单位的UNIX时间戳。
- 字符串:JDBC兼容的java.sql.Timestamp格式“YYYY-MM-DD HH:MM:SS.fffffffff”(9位小数位精度)
时间戳被解释是与timezone无关,存储为从UNIX纪元的偏移量。提供便利的UDF和时区转换(to_utc_timestamp,from_utc_timestamp)。
所有现有datetime的UDF(月,日,年,小时,等)可以工作于TIMESTAMP数据类型。
Union类型
Union类型可以在同一时间点,保持恰好有一个指定的数据类型。您可以使用create_union的UDF创建一个实例的类型:
CREATE TABLE union_test(foo UNIONTYPE<int, double, array<string>, struct<a:int,b:string>>); SELECT foo FROM union_test; {0:1} {1:2.0} {2:["three","four"]} {3:{"a":5,"b":"five"}} {2:["six","seven"]} {3:{"a":8,"b":"eight"}} {0:9} {1:10.0}
第一部分,对于union的发序列化来说是一个tag,让它知道哪个union的部分被使用。在例子0,表明声明的第一个数据类型,即是int,其他如此。
创建union,必须提供为create_union UDF提供tag。
SELECT create_union(0, key), create_union(if(key<100, 0, 1), 2.0, value), create_union(1, "a", struct(2, "b")) FROM src LIMIT 2; {0:"238"} {1:"val_238"} {1:{"col1":2,"col2":"b"}} {0:"86"} {0:2.0} {1:{"col1":2,"col2":"b"}}
常量
数值类型
默认,数值类型认为是INT,除非INT超出了INT的范围,那么会被解释为BIGINT,或者是如下的后缀在数值中被使用。
TYPE |
Postfix |
Example |
TINYINT | Y | 100Y |
SMALLINT | S | 100S |
BIGINT | L | 100L |
字符串类型
字符串可以用单引号(')或双引号(“)。Hive在字符串中使用C-Style的转义。
浮点类型
浮点类型数值,被假定为双浮点类型。目前还不支持科学记数法。
NULL值的处理
遗漏的值被代表为特殊值NULL。 要导入NULL字段的数据,需要查阅使用的SerDe的文档。 (默认的文本格式使用LazySimpleSerDe的解释字符串\ N为NULL),如将查询结果输出到文件,若为NULL,则字段值显示为\N
相关推荐
本资料“hive数据类型共6页.pdf”可能详细介绍了Hive中的各种数据类型及其使用方法。以下是关于Hive数据类型的详细解释: 1. **基本数据类型**: - **STRING**:用于存储字符串,可以包含字母、数字和特殊字符。 ...
05.hive数据类型--复合类型--map类型的使用.mp4
06.hive数据类型--复合类型--struct结构类型的使用.mp4
### Hive中的复杂数据类型导入至Elasticsearch (ES) 的问题总结 #### 一、背景介绍 在大数据处理领域,Apache Hive 和 Elasticsearch (ES) 是两种非常重要的工具。Hive 主要用于对存储在 Hadoop 文件系统 (HDFS) 中...
第 3 章 Hive 数据类型 3.1 基本数据类型 对于 Hive 的 String 类型相当于数据库的 varchar 类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储 2GB 的字符数。 3.2 集合...
包含hive和oracle的常用函数对比关系表,可以用于查询hive函数转换成oracle函数,或者oracle函数转换hive函数之间的相互转换。
《Hive数据仓库案例教程》教学大纲主要涵盖了Hive在大数据环境中的应用,以及如何通过Hive构建数据仓库。Hive作为一个基于Hadoop的数据仓库工具,它的主要功能是将结构化的数据文件映射为数据库表,并提供SQL-like...
知识点2:Hive数据类型 Hive支持多种数据类型,包括String、Integer、Float、Double、Boolean等。在该资源中,我们使用String类型来存储电影名称、票房数据等信息。 知识点3:Hive表创建 在Hive中,创建表需要...
4. **Hive数据类型**:Hive支持多种数据类型,包括基本类型(如STRING, INT, BOOLEAN)和复杂类型(如ARRAY, MAP, STRUCT)。 5. **HQL语法**:HQL支持SELECT, FROM, WHERE, GROUP BY, JOIN等SQL关键字,允许用户...
Hive复杂数据类型使用介绍 Hive作为一个大数据分析工具,提供了多种数据类型,其中包括了复杂数据类型如Array、Map和Struct。这些复杂数据类型可以满足各种复杂的数据存储需求。 一、Array类型 Array类型是Hive中...
Hive数据类型与存储 Hive支持丰富的数据类型,包括整型、字符串型、日期型等。同时,Hive还支持多种存储格式,包括TEXTFILE、SEQUENCEFILE、ORC等。读者需要了解Hive的数据类型和存储格式,以便更好地设计和实现...
Hive数据类型 Hive支持多种数据类型,包括基本类型、复杂类型和用户自定义类型。基本类型包括整数、浮点数、字符串、日期和时间等。复杂类型包括数组、结构体和映射等。用户可以根据需要定义自己的数据类型。 ...
**Hive 数据类型优化** 1. **分区策略**:通过日期等字段进行分区,可以减少不必要的数据扫描,加快查询速度,便于数据清理。 2. **Bucketing**:通过设定 Bucket,可以实现 Bucket Map Join,将小表的 Bucket ...
4. Hive数据类型 4.1 基本数据类型 Hive支持多种基本数据类型,包括整型(TinyInt、SmallInt、Int、BigInt)、浮点型(Float、Double)、字符串(String)、布尔型(Boolean)、日期时间类型(Timestamp)等。 ...
2. **Hive数据类型与操作**:讲解Hive支持的数据类型,包括基本类型(如整型、字符串、日期)和复杂类型(如数组、结构体、映射)。同时,会涉及到数据的插入、更新和删除操作。 3. **Hive查询语言HQL**:详细解析...
### ES-HIVE数据互通知识点详解 #### 环境配置 在进行Elasticsearch与Hive的数据互通之前,首先需要确保环境配置正确无误。本文档提到的环境为实验性的单节点集群,具体配置如下: - **操作系统**:Vagrant + ...
Hive 支持多种数据类型,包括但不限于: - **整型:** - `TINYINT`:1 字节整数。 - `SMALLINT`:2 字节整数。 - `INT`:4 字节整数。 - `BIGINT`:8 字节整数。 - **布尔类型:**`BOOLEAN`,表示 TRUE/FALSE。...
Hive 支持多种数据类型,包括整型(TINYINT, SMALLINT, INT, BIGINT)、浮点型(FLOAT, DOUBLE)、布尔型(BOOLEAN)、字符串(STRING)、时间戳(TIMESTAMP)、日期(DATE)、结构体(STRUCT)、映射(MAP)和数组...
2. **Hive数据类型**:介绍Hive支持的多种数据类型,如STRING, INT, FLOAT, BOOLEAN等,以及如何处理不同类型的数据。 3. **Hive函数分类**: - **算术函数**:如ADD, SUBTRACT, MULTIPLY, DIVIDE等,用于数值运算...