集合函数包括数组(Array)和键值对映射(Map)的操作,函数名和功能描述如下。
相关产品
流计算 Oceanus 产品页,含版本规格、价格与购买入口。
一、散列函数
散列函数的函数名和功能描述如下:
| 函数名 |
功能描述 |
| MD5(string) |
返回字符串的 MD5 值(32位十六进制数字组成的字符串)。如果输入为 NULL,则返回 NULL。 |
| SHA1(string) |
返回字符串的 SHA1 值(40位十六进制数字组成的字符串)。如果输入为 NULL,则返回 NULL。 |
| SHA256(string) |
返回字符串的 SHA256 值(64位十六进制数字组成的字符串)。如果输入为 NULL,则返回 NULL。 |
| SHA224(string) |
返回字符串的 SHA224 值(56位十六进制数字组成的字符串)。如果输入为 NULL,则返回 NULL。 |
| SHA384(string) |
返回字符串的 SHA384 值(96位十六进制数字组成的字符串)。如果输入为 NULL,则返回 NULL。 |
| SHA512(string) |
返回字符串的 SHA512 值(128位十六进制数字组成的字符串)。如果输入为 NULL,则返回 NULL。 |
| SHA2(string, hashLength) |
通用 SHA-2 系列函数,返回 string 字符串的哈希值,hashLength 为256时,等价于 SHA256(string),其他的以此类推。 |
二、值访问函数
值访问函数的函数名和功能描述如下:
| 函数名 |
功能描述 |
| tableName.compositeType.field |
访问复合类型(Tuple、POJO)等的字段。 |
| tableName.compositeType.* |
访问 Tuple 或 POJO 的所有字段。 |
三、值构造函数
值构造函数的函数名和功能描述如下:
| 函数名 |
功能描述 |
| (value, [, value]*)ROW(value, [, value]*) |
创建一个包含若干值的行。两种写法完全等价。 |
| ARRAY '[' value [, value ]* ']' |
创建一个包含若干值的数组。 |
| MAP '[' key, value [, key, value ]* ']' |
创建一个包含若干键值对的映射。 |
四、集合函数
| 函数名 |
功能描述 |
| CARDINALITY(array) |
返回某个数组的长度。 |
| array '[' index ']' |
返回某个数组的指定位置的项(下标从1开始)。 |
| ELEMENT(array) |
返回单元素数组的内容(如果数组为空则返回 NULL;如果数组存放的元素大于一个,则抛出异常)。 |
| CARDINALITY(map) |
返回 map 中键值对的总个数。 |
| map '[' key ']' |
返回 map 中指定 key 所对应的值。 |
五、分组函数
分组函数用来做 GROUP BY 分组后的表示,函数名和功能描述如下:
| 函数名 |
功能描述 |
| GROUP_ID() |
返回一个唯一标识该 GROUP 所有键的整数。 |
| GROUPING(expression1 [, expression2]* )GROUPING_ID(expression1 [, expression2]* ) |
返回指定分组表达式的分组 ID(二进制矢量转为十进制数)。 |