[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]
目录
相关文章
|
分布式计算 资源调度 Hadoop
|
存储 Java 大数据
Spring Boot 2.x :通过 spring-boot-starter-hbase 集成 HBase
HBase 是在 Hadoop 分布式文件系统(简称:HDFS)之上的分布式面向列的数据库。而且是 2007 最初原型,历史悠久。 那追根究底,Hadoop 是什么?Hadoop是一个分布式环境存储并处理大数据。本文介绍通过 spring-boot-starter-hbase 集成 HBase。
13641 0
|
消息中间件 存储 监控
|
存储 SQL JSON
5、DataX(DataX简介、DataX架构原理、DataX部署、使用、同步MySQL数据到HDFS、同步HDFS数据到MySQL)(一)
5、DataX(DataX简介、DataX架构原理、DataX部署、使用、同步MySQL数据到HDFS、同步HDFS数据到MySQL)(一)
|
SQL 存储 分布式计算
Hive安装超详细教程
带领大家进行Hive的安装
4433 0
|
SQL 分布式数据库 索引
Phoenix入门到精通
此Phoenix系列文章将会从Phoenix的语法和功能特性、相关工具、实践经验以及应用案例多方面从浅入深的阐述。希望对Phoenix入门、在做架构设计和技术选型的同学能有一些帮助。
33128 0
|
存储 SQL 分布式数据库
phoenix连接hbase时的bug处理通用方法(亲测)
phoenix连接hbase时的bug处理通用方法(亲测)
1078 0
|
SQL 分布式数据库 数据库
Phoenix(HBase SQL)核心功能原理及应用场景介绍
概况了Phoenix(云HBase SQL) ) 入门到精通系列大多数内容,介绍了核心功能原理,相关生态工具及应用场景
13824 0
Phoenix(HBase SQL)核心功能原理及应用场景介绍
|
存储 SQL 自然语言处理
详解TableStore模糊查询——以订单场景为例
# 背景 订单系统在各行各业中广泛应用,为消费者、商家后台、促销系统等第三方提供用户、产品、订单等多维度的管理和查询服务。为了挖掘出海量订单数据的潜能,丰富高效的查询必不可少。然而很多时候并不能给出完整准确的查询关键字,例如,只知道收货人姓氏,或是产品名称部分关键字,或是根据收货人手机尾号找到订单,我们将这类查询归为“模糊查询”。
5766 0
|
SQL Java 分布式数据库
阿里云HBase SQL(Phoenix)服务深度解读
阿里云HBase SQL基于Phoenix 5.0版本,为云HBase2.0赋予NewSQL特性,降低kv接口使用复杂性,并提供Schema、Secondary Indexes、View 、Bulk Loading(离线大规模load数据)、Atomic Upsert、Salted Tables、Dynamic Columns、Skip Scan等特性的能力,大大降低了用户的使用门槛。
11380 0
阿里云HBase SQL(Phoenix)服务深度解读