前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系

正文

1. 基本数据类型

类型名称 描述 举例
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

2. 复合数据类型

类型名称 描述 举例
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和b的值
        • 使用c.a 和c.b 获取其中的元素值
          • 这里可以把这种类型看成是一个对象
create table complex(
         col1 array<int>,
         col2 map<string,int>,
         col3 struct<a:string,b:int,c:double>
)
上一篇 下一篇