支持的数据类型

目前大数据领域,基于HDFS文件系统的主流文件格式有ORC及PARQUET。openGauss主要支持ORC和Parquet文件格式。用户利用HIVE将数据导入HDFS文件系统后存储为ORC或Parquet文件格式,使用openGauss对ORC或Parquet文件内的数据进行查询分析,这样需要在ORC或Parquet文件格式支持的数据类型与openGauss自身支持数据类型间进行匹配,匹配状况如表1所示:

表 1 数据类型匹配关系

类型名称

openGauss HDFS外表支持类型

数据导入HDFS时,HIVE建表类型

2字节整数

SMALLINT

SMALLINT

4字节整数

INTEGER

INT

8字节整数

BIGINT

BIGINT

单精度浮点型

FLOAT4 (REAL)

FLOAT

双精度浮点型

FLOAT8(DOUBLE PRECISION)

DOUBLE

科学数据类型

DECIMAL[p (,s)] 最大支持38位精度

DECIMAL最大支持38位(HIVE 0.11)

日期类型

DATE

DATE

时间类型

TIMESTAMP

TIMESTAMP

BOOLEAN类型

BOOLEAN

BOOLEAN

Char类型

CHAR(n)

CHAR (n)

VarChar类型

VARCHAR(n)

VARCHAR (n)

字符串(文本大对象)

TEXT(CLOB)

STRING

支持的数据类型 - 图1 须知:

  1. openGauss HDFS外表支持NULL定义,HIVE数据表支持并采用相对应的NULL定义。

  2. openGauss HDFS外表的日期和时间类型,不支持时区定义,HIVE不支持时区定义。

  3. HIVE中date类型只有日期,没有时间,openGauss的date类型包含日期和时间。

  4. openGauss支持ORC的压缩格式,包括ZLIB、SNAPPY、LZ4及NONE压缩方式。

  5. openGauss支持Parquet的压缩格式,包括SNAPPY及NONE压缩方式。

  6. 其中FLOAT4格式本身存在不精准问题,求和等操作在不同环境下可能产生不同的结果,在高精度要求场景下建议使用DECIMAL类型代替。

  7. 兼容Teradata数据库模式下,HDFS外表不支持DATE类型。