Phoenix的数据类型和操作符、函数
官方文档
http://phoenix.apache.org/language/functions.html
http://phoenix.apache.org/language/index.html
数据类型:
以上这些类型在hbase里面的存储跟我们想象的不一样,它是首位取反的。
举个例子,有一个tinyint的56,正常的二进制表示为00111000,然而在这里表示为10111000,这样,就保证了在hbase中,这些数作为rowkey的时候,负数在正数前面,以保证rowkey有序。
布尔型
Boolean type就没什么可说的了,用一个byte表示真假
时间类型
Phoenix中时间类型跟数字型没什么区别,就是显示方面的问题,因此,它也有取反的问题(虽然时间戳其实没什么负数的,不知道为什么这么设计)。
因此,它也有unsinged版本,如下:
字符串与二进制类型
注意:
对于可变长度的字符串,如果组成rowkey,是用\0分隔开的,然而,如果同时有数字或者时间类型的在其中,那么可能会产生歧义,这时候,建表的时候就会报错
集合类型
当前只支持array
函数和操作符:
数字类型
实际上,时间类型也是数字类型,但由于他们有一些特殊性,单独列出
时间类型
字符串函数
数组函数
其他
md5 invert