[Phoenix] 二、数据类型

简介: 目前Phoenix支持22种简单数据类型和1个一维Array的复杂类型。

目前Phoenix支持24种简单数据类型和1个一维Array的复杂类型。以下是对支持数据类型的说明:

1. INTEGER
2. UNSIGNED_INT
3. BIGINT
4. UNSIGNED_LONG
5. TINYINT
6. UNSIGNED_TINYINT
7. SMALLINT
8. UNSIGNED_SMALLINT
9. FLOAT
10. UNSIGNED_FLOAT
11. DOUBLE
12. UNSIGNED_DOUBLE
13. DECIMAL
14. BOOLEAN
15. TIME
16. DATE
17. TIMESTAMP
18. UNSIGNED_TIME
19. UNSIGNED_DATE
20. UNSIGNED_TIMESTAMP
21. VARCHAR
22. CHAR
23. BINARY
24. VARBINARY
25. ARRAY

序号 类型名 对应的java类型 取值范围 说明

1

INTEGER INTEGER [-2147483648, 2147483647] binary表示是4个byte的整数, 符号位被翻转(为了让负数排在正数前面)

2

UNSIGNED_INT Integer [ 0,2147483647] binary表示是4个byte的整型。这个类型主要用作序列化映射到已经存在Hbase表的数据,适配HBase Bytes.toBytes(int)方法。

3

BIGINT Long [-9223372036854775808 ,9223372036854775807] binary表示是8位byte的Long类型, 符号位被翻转(为了让负数排在正数前面)

4

UNSIGNED_LONG Long [0 ,9223372036854775807] binary表示是8位byte的Long类型。这个类型主要用作序列化映射到已经存在Hbase表的数据,适配HBase Bytes.toBytes(long)方法。

5

TINYINT Byte [-128,127] binary表示是单个byte,为了排序符号位被翻转。

6

UNSIGNED_TINYINT Byte [0,127] binary表示是单个byte。这个类型主要用作序列化映射到已经存在Hbase表的数据,适配 HBase Bytes.toBytes(byte)方法。

7

SMALLINT Short [-32768,32767] binary表示是两个byte,为了排序符号位被翻转。

8

UNSIGNED_SMALLINT Short [0,32767] binary表示是两个byte。这个类型主要用作序列化映射到已经存在Hbase表的数据,适配HBase Bytes.toBytes(short)方法。

9

FLOAT Float [-3.402823466 E + 38,3.402823466 E + 38] binary表示是四个byte, 为了排序符号位被翻转。

10

UNSIGNED_FLOAT Float [0,3.402823466 E + 38] binary表示是四个byte。这个类型主要用作序列化映射到已经存在Hbase表的数据,适配HBase Bytes.toBytes(float)方法。

11

DOUBLE DOUBLE [-1.7976931348623158 E + 308,1.7976931348623158 E + 308] binary表示是8个byte,为了排序符号位被翻转。

12

UNSIGNED_DOUBLE DOUBLE [0,1.7976931348623158 E + 308] binary表示是8个byte。这个类型主要用作序列化映射到已经存在Hbase表的数据,适配HBase Bytes.toBytes(double)方法。

13

DECIMAL(precision,scale) BigDecimal 最大精度38位 binary是可比较的边长格式。如果用于rowkey。 当它不是最后一列时,比较终结符号是null byte

14

BOOLEAN BOOLEAN 0或1 binary表示0是flase, 1是true

15

TIME java.sql.Time 格式: yyyy-MM-dd hh:mm:ss 二进制表示是8位byte的long类型数据, 数据内容是客户端时区自1970-01-01 00:00:00 UTC到现在的毫秒大小(GMT)。此类型与 SQL 92中的Time类型不兼容

16

DATE java.sql.Date 格式: yyyy-MM-dd hh:mm:ss 二进制表示是8位byte的long类型数据, 数据内容是客户端时区自1970-01-01 00:00:00 UTC到现在的毫秒大小(GMT)。此类型与 SQL 92中的DATE类型不兼容。

17

TIMESTAMP java.sql.Timestamp 格式:yyyy-MM-dd hh:mm:ss[.nnnnnnnnn] 二进制表示是8位byte的long类型和4位整型纳秒。8位byte的long类型数据是客户端时区自1970-01-01 00:00:00 UTC到现在的毫秒大小(GMT)。

18

UNSIGNED_TIME java.sql.Time 格式: yyyy-MM-dd hh:mm:ss 二进制表示是8位byte的long类型数据, 数据内容是客户端时区自1970-01-01 00:00:00 UTC到现在的毫秒大小(GMT)。这个类型主要用作序列化映射到已经存在Hbase表的数据,适配HBase Bytes.toBytes(long)方法。

19

UNSIGNED_DATE                                                                                                                    java.sql.Date                                                                                                                                      格式: yyyy-MM-dd hh:mm:ss                                                                                                                               二进制表示是8位byte的long类型数据, 数据内容是客户端时区自1970-01-01 00:00:00 UTC到现在的毫秒大小(GMT)。这个类型主要用作序列化映射到已经存在Hbase表的数据,适配HBase Bytes.toBytes(long)方法。

20

UNSIGNED_TIMESTAMP java.sql.Timestamp 格式:yyyy-MM-dd hh:mm:ss[.nnnnnnnnn] 二进制表示是8位byte的long类型和4位整型纳秒。8位byte的long类型数据是客户端时区自1970-01-01 00:00:00 UTC到现在的毫秒大小(GMT)。这个类型主要用作序列化映射到已经存在Hbase表的数据,适配HBase Bytes.toBytes(long)方法。

21

VARCHAR(precisionInt) java.lang.String 变长,可选最大长度 对应UTF-8字符通过HBase Bytes.toBytes(String)转换的二进制。如果用于rowkey。 当它不是最后一列时,比较终结符号是null byte

22

CHAR ( precisionInt ) java.lang.String 定长 对应UTF-8字符通过HBase Bytes.toBytes(String)转换的二进制。

23

BINARY ( precisionInt ) byte[] 定长 定长byte数组

24

VARBINARY byte[] 变长 变长byte数组

25

ARRAY [dimension] java.sql.Array - Java原始类型数组,只支持一维数组。例如:VARCHAR ARRAY, CHAR(10) ARRAY [5],INTEGER [],INTEGER [100]
目录
相关文章
|
存储 固态存储 关系型数据库
下一代实时数据库:Apache Doris 【三】集群部署
下一代实时数据库:Apache Doris 【三】集群部署
824 0
|
数据库 索引
elasticsearch中join类型数据如何进行父子文档查询?
elasticsearch中join类型数据如何进行父子文档查询?
|
NoSQL 算法 JavaScript
Redis 实现限流的三种方式
Redis 实现限流的三种方式
|
大数据 数据管理 Docker
【Datahub系列教程】Datahub入门必学——DatahubCLI之Docker命令详解
【Datahub系列教程】Datahub入门必学——DatahubCLI之Docker命令详解
1684 0
|
存储 数据采集 数据处理
DataFrame赋值技巧:让数据处理更高效
DataFrame赋值技巧:让数据处理更高效
1840 0
|
搜索推荐 JavaScript Java
Elasticsearch 8.X 如何依据 Nested 嵌套类型的某个字段进行排序?
Elasticsearch 8.X 如何依据 Nested 嵌套类型的某个字段进行排序?
|
SQL 关系型数据库 数据库
SqlAlchemy 2.0 中文文档(五)(4)
SqlAlchemy 2.0 中文文档(五)
737 0
|
Arthas 监控 Java
arthas使用教程
arthas使用教程
4257 0
|
自然语言处理 索引
Elasticsearch之常用DSL语句
mapping是对索引库中文档的约束
553 1