检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
分析窗口函数 分析窗口函数概览 cume_dist first_value last_value lag lead percent_rank rank row_number 父主题: 内置函数
分析窗口函数概览 DLI所支持的分析窗口函数如分析窗口函数介绍所示。 表1 分析窗口函数介绍 函数 命令格式 返回值 功能简介 cume_dist cume_dist() DOUBLE 用于求累计分布,相当于求分区中大于等于或小于等于当前行的数据在分区中的占比。 first_value
标准中的一种特殊的表函数,它可以把表作为一个参数。 窗口表值函数是分组函数(已废弃)的替代方案。窗口表值函数 更符合 SQL 标准,在支持基于窗口的复杂计算上也更强大。例如:窗口 TopN、窗口 Join。而分组窗口函数只支持窗口聚合。 更多介绍和使用请参考开源社区文档:窗口函数。 窗口函数简介
一致。 在Spark SQL队列下已创建自定义函数F1,指定类名C1,Jar包名J1。 后续对J1包中函数实现做了逻辑修改,重新执行创建函数F2,指定类名C1,Jar包名J1。 说明: 注意,如果步骤2继续使用函数名F1,则会因为函数名重复导致创建失败。这时可以考虑使用OR RE
窗口函数 窗口函数跨查询结果的行执行计算。它们在HAVING子句之后但在ORDER BY子句之前运行。调用窗口函数需要使用OVER子句来指定窗口的特殊语法。窗口具有三个组成部分: 分区规范,它将输入行分为不同的分区。这类似于GROUP BY子句如何将行分为聚合函数的不同组。 排序
数学函数概览 DLI所支持的数学函数如数学函数所示。 表1 数学函数 函数 命令格式 返回值 功能简介 abs abs(DOUBLE a) DOUBLE或INT 取绝对值。 acos acos(DOUBLE a) DOUBLE 返回给定角度a的反余弦值。 asin asin(DOUBLE
条件函数 函数说明 表1 条件函数 条件函数 函数说明 CASE value WHEN value1_1 [, value1_2 ]* THEN result1 [ WHEN value2_1 [, value2_2 ]* THEN result2 ]* [ ELSE resultZ
集合函数 函数说明 表1 集合函数说明 集合函数 函数说明 CARDINALITY(array) 返回数组中元素个数 array ‘[’ integer ‘]’ 返回数组索引为integer的元素。索引从1开始 ELEMENT(array) 返回数组中的唯一元素。 若数组为空,则返回null
时间函数 Flink OpenSource SQL所支持的时间函数如表1所示。 函数说明 表1 时间函数 函数 返回值 描述 DATE string DATE 将日期字符串以"yyyy-MM-dd"的形式解析为SQL日期。 TIME string TIME 将时间字符串以"HH:mm:ss[
时间函数 Flink OpenSource SQL所支持的时间函数如表1所示。 函数说明 表1 时间函数 函数 返回值 描述 DATE string DATE 将日期字符串以"yyyy-MM-dd"的形式解析为SQL日期。 TIME string TIME 将时间字符串以"HH:mm:ss[
Hash函数 函数说明 表1 Hash函数说明 Hash函数 函数说明 MD5(string) 返回以32个十六进制数所表示的字符串的MD5哈希值 若字符串是null,则返回null SHA1(string) 返回以40个十六进制所表示的字符串的SHA-1哈希值 若字符串是null,则返回null
自定义函数 概述 DLI支持三种自定义函数: UDF:自定义函数,支持一个或多个输入参数,返回一个结果值。 UDTF:自定义表值函数,支持一个或多个输入参数,可返回多行多列。 UDAF:自定义聚合函数,将多条记录聚合成一个值。 暂不支持通过python写UDF、UDTF、UDAF自定义函数。
lag lag函数用于用于统计窗口内往上第n行值。 使用限制 窗口函数的使用限制如下: 窗口函数只能出现在select语句中。 窗口函数中不能嵌套使用窗口函数和聚合函数。 窗口函数不能和同级别的聚合函数一起使用。 命令格式 lag(<expr>[, bigint <offset>[
lead lead函数用于用于统计窗口内往下第n行值。 使用限制 窗口函数的使用限制如下: 窗口函数只能出现在select语句中。 窗口函数中不能嵌套使用窗口函数和聚合函数。 窗口函数不能和同级别的聚合函数一起使用。 命令格式 lead(<expr>[, bigint <offset>[
rank rank函数用于计算一个值在一组值中的排位。如果出现并列的情况,RANK函数会在排名序列中留出空位。 使用限制 窗口函数的使用限制如下: 窗口函数只能出现在select语句中。 窗口函数中不能嵌套使用窗口函数和聚合函数。 窗口函数不能和同级别的聚合函数一起使用。 命令格式
row_number row_number函数用于计算行号。从1开始递增。 使用限制 窗口函数的使用限制如下: 窗口函数只能出现在select语句中。 窗口函数中不能嵌套使用窗口函数和聚合函数。 窗口函数不能和同级别的聚合函数一起使用。 命令格式 row_number() ove
first_value first_value函数用于取当前行所对应窗口的第一条数据的值。 使用限制 窗口函数的使用限制如下: 窗口函数只能出现在select语句中。 窗口函数中不能嵌套使用窗口函数和聚合函数。 窗口函数不能和同级别的聚合函数一起使用。 命令格式 first_value(<expr>[
percent_rank函数为窗口的ORDER BY子句所指定列中值的返回值,但以介于0和1之间的小数形式表示,计算方法为 (分组内当前行的RANK值-1)/(分组内总行数-1)。 使用限制 窗口函数的使用限制如下: 窗口函数只能出现在select语句中。 窗口函数中不能嵌套使用窗口函数和聚合函数。
last_value last_value函数用于取当前行所对应窗口的最后一条数据的值。 使用限制 窗口函数的使用限制如下: 窗口函数只能出现在select语句中。 窗口函数中不能嵌套使用窗口函数和聚合函数。 窗口函数不能和同级别的聚合函数一起使用。 命令格式 last_value(<expr>[
cume_dist cume_dist函数用于求累计分布,相当于求分区中大于等于或小于等于当前行的数据在分区中的占比。 使用限制 窗口函数的使用限制如下: 窗口函数只能出现在select语句中。 窗口函数中不能嵌套使用窗口函数和聚合函数。 窗口函数不能和同级别的聚合函数一起使用。 命令格式 cume_dist()