Phoenix的数据类型和操作符、函数

Phoenix的数据类型和操作符、函数

官方文档
http://phoenix.apache.org/language/functions.html
http://phoenix.apache.org/language/index.html

数据类型:

Phoenix的数据类型和操作符、函数

以上这些类型在hbase里面的存储跟我们想象的不一样,它是首位取反的。
举个例子,有一个tinyint的56,正常的二进制表示为00111000,然而在这里表示为10111000,这样,就保证了在hbase中,这些数作为rowkey的时候,负数在正数前面,以保证rowkey有序。

Phoenix的数据类型和操作符、函数

布尔型
Boolean type就没什么可说的了,用一个byte表示真假

时间类型

Phoenix中时间类型跟数字型没什么区别,就是显示方面的问题,因此,它也有取反的问题(虽然时间戳其实没什么负数的,不知道为什么这么设计)。
因此,它也有unsinged版本,如下:

Phoenix的数据类型和操作符、函数

字符串与二进制类型

Phoenix的数据类型和操作符、函数
注意:
对于可变长度的字符串,如果组成rowkey,是用\0分隔开的,然而,如果同时有数字或者时间类型的在其中,那么可能会产生歧义,这时候,建表的时候就会报错

集合类型

当前只支持array

函数和操作符:

数字类型
实际上,时间类型也是数字类型,但由于他们有一些特殊性,单独列出

Phoenix的数据类型和操作符、函数

时间类型

Phoenix的数据类型和操作符、函数

字符串函数

Phoenix的数据类型和操作符、函数

数组函数

Phoenix的数据类型和操作符、函数
其他
md5 invert