数据湖探索 DLI-row_number:示例代码

时间:2025-02-12 14:55:44

示例代码

为便于理解函数的使用方法,本文为您提供源数据,基于源数据提供函数相关示例。创建表logs,并添加数据,命令示例如下:
CREATE TABLE logs (cookieid string,createtime string,pv INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' stored as textfile;

添加数据如下:

cookie1 2015-04-10 1cookie1 2015-04-11 5cookie1 2015-04-12 7cookie1 2015-04-13 3cookie1 2015-04-14 2cookie1 2015-04-15 4cookie1 2015-04-16 4cookie2 2015-04-10 2cookie2 2015-04-11 3cookie2 2015-04-12 5cookie2 2015-04-13 6cookie2 2015-04-14 3cookie2 2015-04-15 9cookie2 2015-04-16 7

示例:将所有记录根据cookieid分组,并按pv降序排列,返回组内每行的序号。命令示例如下:

select cookieid, createtime, pv,       row_number() over (partition by cookieid order by pv desc) as indexfrom logs;-- 返回结果:cookie1 2015-04-12 7 1cookie1 2015-04-11 5 2cookie1 2015-04-16 4 3cookie1 2015-04-15 4 4cookie1 2015-04-13 3 5cookie1 2015-04-14 2 6cookie1 2015-04-10 1 7cookie2 2015-04-15 9 1cookie2 2015-04-16 7 2cookie2 2015-04-13 6 3cookie2 2015-04-12 5 4cookie2 2015-04-11 3 5cookie2 2015-04-14 3 6cookie2 2015-04-10 2 7
support.huaweicloud.com/sqlref-spark-dli/dli_spark_row_number.html