zoukankan      html  css  js  c++  java
  • Hive之数据类型

    Hive之数据类型

     
    (本文是基于多篇文章根据个人理解进行的整合,参考的文章见末尾的整理)

    数据类型
    
    
    Hive支持两种数据类型,一类叫原子数据类型,一类叫复杂数据类型。原子数据类型包括数值型、布尔型和字符串类型,具体如下表所示:
    原子数据类型包括数值型、布尔型和字符串类型,具体如下表所示:
    
    

    基本数据类型

    类型

    描述

    示例

    TINYINT

    1个字节(8位)有符号整数

    1

    SMALLINT

    2字节(16位)有符号整数

    1

    INT

    4字节(32位)有符号整数

    1

    BIGINT

    8字节(64位)有符号整数

    1

    FLOAT

    4字节(32位)单精度浮点数

    1.0

    DOUBLE

    8字节(64位)双精度浮点数

    1.0

    BOOLEAN

    true/false

    true

    STRING

    字符串

    xia’,”xia”

    
    
      hive不支持日期类型,hive里日期都是用字符串来表示的,而常用的日期格式转化操作则是通过自定义函数进行操作。
      hive是用java开发的,hive里的基本数据类型和java的基本数据类型也是一一对应的,除了string类型。有符号的整数类型:TINYINT、SMALLINT、INT和BIGINT分别等价于java的byte、short、int和long原子类型,它们分别为1字节、 2字节、4字节和8字节有符号整数。Hive的浮点数据类型FLOAT和DOUBLE,对应于java的基本类型float和double类型。而hive的BOOLEAN类型相当于java的基本数据类型boolean。
      对于hive的String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB的字符数
      Hive支持基本类型的转换,低字节的基本类型可以转化为高字节的类型,例如TINYINT、SMALLINT、INT可以转化为FLOAT,而所有的整数类型、FLOAT以及STRING类型可以转化为DOUBLE类型,这些转化可以从java语言的类型转化考虑,因为hive就是用java
    编写的。当然也支持高字节类型转化为低字节类型,这就需要使用hive的自定义函数CAST了。例如:
    返回类型 函数 说明
    指定 “type” cast(expr as <type>) 类型转换。例如将字符”1″转换为整数:cast(’1′ as bigint),如果转换失败返回NULL。
      复杂数据类型包括数组(ARRAY)、映射(MAP)和结构体(STRUCT),具体如下表所示:
    
    
    

    复杂数据类型

    类型

    描述

    示例

    ARRAY

    一组有序字段。字段的类型必须相同

    Array(1,2)

    MAP

    一组无序的键/值对。键的类型必须是原子的,值可以是任何类型,同一个映射的键的类型必须相同,值得类型也必须相同

    Map(‘a’,1,’b’,2)

    STRUCT

    一组命名的字段。字段类型可以不同

    Struct(‘a’,1,1,0)

    
    

     

  • 相关阅读:
    LiteMDA中支持Generic的BusinessObjectFactory实现
    Domain Object Layer Design and Sample Code for LiteMDA
    [BuildRelease Management]FinalBuilder
    Java RMI之HelloWorld
    深入浅出之正则表达式[转]
    Linux中的sh+source+export
    Scrum资料收集
    [MySQL]安装和启动
    .NET Remoting之Helloworld
    [在windows上使用Unix工具]SUA+Interix+SFU+Utilities and SDK for UNIXbased Applications
  • 原文地址:https://www.cnblogs.com/weixiuli/p/6596063.html
Copyright © 2011-2022 走看看