全部产品

数据类型

HBase增强版JDBC支持标准SQL的部分数据类型。

SQL类型 Java类型 说明
BOOLEAN java.lang.Boolean 1字节,0是false,1是true
TINYINT ava.lang.Byte 1字节
SMALLINT java.lang.Short 2字节
INTEGER java.lang.Integer 4字节
BIGINT java.lang.Long 8字节
FLOAT java.lang.Float 4字节, 符号位反转
DOUBLE java.lang.Double 8字节, 符号位反转
DECIMAL(precision,scale) java.lang.BigDecimal 变长
VARCHAR j ava.lang.String 变长,支持中文
BINARY(N) byte[] 定长,不足会补0,超长会截断
VARBINARY byte[] 变长

一些类型的说明:

  • decimal(precision,scale):
    • 十进制,消耗的字节数随精度增加而增加,通常用于存储金额等高精度数据,对于精度要求不高的场景(如监控),可以使用float或double
    • precision表示最大一共有多少位数,值域是[1, 38]
    • scale表示小数点后最大有多少位,值域是[0, precision]
  • binary(N):定长二进制类型,N表示字节数。写入数据时,若给出的值不足N字节,系统会自动在末尾补充0字节;若超出N字节,则自动截断。
  • varbinary:变长二进制,作为主键时只能是最后一列主键。

不支持的类型

(1) DATE/TIME/TIMESTAMP等时间日期类型

目前暂不支持时间日期类型,可使用bigint或int替代。通常用bigint存储毫秒或纳秒值,使用int来存储秒值。

(2)CHAR(N)

没有定长char类型,用户对字符串的存储应统一使用varchar类型。不需要预设最大长度之类的信息。

(3)数组等复杂类型

暂不开放此类数据类型

使用限制

  • 单个主键列最大长度2KB
  • 所有主键列长度之和不超过30KB
  • 单个非主键列最大长度不超过2MB