Hive(7) Hive的数据类型

Hive的数据类型

基本数据类型

类型名称 描述 举例
boolean true/false true
tinyint 1字节的有符号整数 1
smallint 2字节的有符号整数 1
int 4字节的有符号整数 1
bigint 8字节的有符号整数 1
float 4字节单精度浮点数 1.0
double 8字节单精度浮点数 1.0
string 字符串(不设长度) “abc”
varchar 字符串(1-65355长度,超长截断) “abc”
timestamp 时间戳 1563157873
date 日期 20190715

复合数据类型

类型名称 描述 举例
array 一组有序的字段,字段类型必须相同 array(元素1,元素2) Array(1,2,3)
map 一组无序键值对 map(k1,v1,k2,v2) Map(‘a’,1,'b',2)
struct 一组命名的字段,字段类型可以不同 struct(元素1,元素2) Struct('a',1,2,0)
  • array类型的字段的元素访问方式

    • 通过下标获取元素,下标从0开始
    • 如获取第一个元素
      • array[0]
  • map类型字段的元素访问方式

    • 通过键获取值
    • 如获取a这个key对应的value
      • map['a']
  • struct类型字段的元素获取方式

    • 定义一个字段c的类型为struct{a int, b string}
    • 获取ab的值
      • 使用c.ac.b 获取其中的元素值
    • 这里可以把这种类型看成是一个对象
  • 示例:创建一张表,包含了array、map、struct类型的字段

create table complex(
         col1 array<int>,
         col2 map<string,int>,
         col3 struct<a:string,b:int,c:double>
)

Hive官网(学会查找帮助)

平时工作中,要多查看Hive官方文档

hive官网:https://hive.apache.org/

Hql使用帮助:https://cwiki.apache.org/confluence/display/Hive/LanguageManual

posted @ 2020-08-24 00:04  Whatever_It_Takes  阅读(292)  评论(0编辑  收藏  举报