`
yugouai
  • 浏览: 494985 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Hive数据类型

 
阅读更多

列类型

 

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.zip

    本资料“hive数据类型共6页.pdf”可能详细介绍了Hive中的各种数据类型及其使用方法。以下是关于Hive数据类型的详细解释: 1. **基本数据类型**: - **STRING**:用于存储字符串,可以包含字母、数字和特殊字符。 ...

    05.hive数据类型--复合类型--map类型的使用.mp4

    05.hive数据类型--复合类型--map类型的使用.mp4

    06.hive数据类型--复合类型--struct结构类型的使用.mp4

    06.hive数据类型--复合类型--struct结构类型的使用.mp4

    快速学习-Hive 数据类型

    第 3 章 Hive 数据类型 3.1 基本数据类型 对于 Hive 的 String 类型相当于数据库的 varchar 类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储 2GB 的字符数。 3.2 集合...

    hive和oracle函数对照表.xlsx

    包含hive和oracle的常用函数对比关系表,可以用于查询hive函数转换成oracle函数,或者oracle函数转换hive函数之间的相互转换。

    《Hive数据仓库案例教程》教学大纲.pdf

    《Hive数据仓库案例教程》教学大纲主要涵盖了Hive在大数据环境中的应用,以及如何通过Hive构建数据仓库。Hive作为一个基于Hadoop的数据仓库工具,它的主要功能是将结构化的数据文件映射为数据库表,并提供SQL-like...

    电影票房数据分析-hive代码

    知识点2:Hive数据类型 Hive支持多种数据类型,包括String、Integer、Float、Double、Boolean等。在该资源中,我们使用String类型来存储电影名称、票房数据等信息。 知识点3:Hive表创建 在Hive中,创建表需要...

    Hive大数据仓库-笔记整理 (一)2020年最新版.pdf

    4. **Hive数据类型**:Hive支持多种数据类型,包括基本类型(如STRING, INT, BOOLEAN)和复杂类型(如ARRAY, MAP, STRUCT)。 5. **HQL语法**:HQL支持SELECT, FROM, WHERE, GROUP BY, JOIN等SQL关键字,允许用户...

    Hive复杂数据类型使用介绍

    Hive复杂数据类型使用介绍 Hive作为一个大数据分析工具,提供了多种数据类型,其中包括了复杂数据类型如Array、Map和Struct。这些复杂数据类型可以满足各种复杂的数据存储需求。 一、Array类型 Array类型是Hive中...

    Hive入门与大数据分析实战.pptx

    Hive数据类型与存储 Hive支持丰富的数据类型,包括整型、字符串型、日期型等。同时,Hive还支持多种存储格式,包括TEXTFILE、SEQUENCEFILE、ORC等。读者需要了解Hive的数据类型和存储格式,以便更好地设计和实现...

    hive中定义的复杂数据类型导入到es中问题总结.doc

    ### Hive中的复杂数据类型导入至Elasticsearch (ES) 的问题总结 #### 一、背景介绍 在大数据处理领域,Apache Hive 和 Elasticsearch (ES) 是两种非常重要的工具。Hive 主要用于对存储在 Hadoop 文件系统 (HDFS) 中...

    Hive编程1

    Hive数据类型 Hive支持多种数据类型,包括基本类型、复杂类型和用户自定义类型。基本类型包括整数、浮点数、字符串、日期和时间等。复杂类型包括数组、结构体和映射等。用户可以根据需要定义自己的数据类型。 ...

    Hive_优化——深入浅出学Hive

    **Hive 数据类型优化** 1. **分区策略**:通过日期等字段进行分区,可以减少不必要的数据扫描,加快查询速度,便于数据清理。 2. **Bucketing**:通过设定 Bucket,可以实现 Bucket Map Join,将小表的 Bucket ...

    Hive实战使用指南1

    4. Hive数据类型 4.1 基本数据类型 Hive支持多种基本数据类型,包括整型(TinyInt、SmallInt、Int、BigInt)、浮点型(Float、Double)、字符串(String)、布尔型(Boolean)、日期时间类型(Timestamp)等。 ...

    Hive编程指南

    2. **Hive数据类型与操作**:讲解Hive支持的数据类型,包括基本类型(如整型、字符串、日期)和复杂类型(如数组、结构体、映射)。同时,会涉及到数据的插入、更新和删除操作。 3. **Hive查询语言HQL**:详细解析...

    ES-HIVE数据互通

    ### ES-HIVE数据互通知识点详解 #### 环境配置 在进行Elasticsearch与Hive的数据互通之前,首先需要确保环境配置正确无误。本文档提到的环境为实验性的单节点集群,具体配置如下: - **操作系统**:Vagrant + ...

    HIVE技术分享

    Hive 支持多种数据类型,包括但不限于: - **整型:** - `TINYINT`:1 字节整数。 - `SMALLINT`:2 字节整数。 - `INT`:4 字节整数。 - `BIGINT`:8 字节整数。 - **布尔类型:**`BOOLEAN`,表示 TRUE/FALSE。...

    Hive随笔.docx

    Hive 支持多种数据类型,包括整型(TINYINT, SMALLINT, INT, BIGINT)、浮点型(FLOAT, DOUBLE)、布尔型(BOOLEAN)、字符串(STRING)、时间戳(TIMESTAMP)、日期(DATE)、结构体(STRUCT)、映射(MAP)和数组...

    hive函数大全.7z

    2. **Hive数据类型**:介绍Hive支持的多种数据类型,如STRING, INT, FLOAT, BOOLEAN等,以及如何处理不同类型的数据。 3. **Hive函数分类**: - **算术函数**:如ADD, SUBTRACT, MULTIPLY, DIVIDE等,用于数值运算...

Global site tag (gtag.js) - Google Analytics