当前位置: 首页 > news >正文

做淘宝客要有网站吗小辉seo

做淘宝客要有网站吗,小辉seo,公司网站模板,做乒乓球网站的图片大全Flink系列之:Over聚合 一、Over聚合二、ORDER BY三、PARTITION BY四、范围(RANGE)定义五、RANGE 间隔六、ROW 间隔 适用于流、批 一、Over聚合 OVER 聚合通过排序后的范围数据为每行输入计算出聚合值。和 GROUP BY 聚合不同, OV…

Flink系列之:Over聚合

  • 一、Over聚合
  • 二、ORDER BY
  • 三、PARTITION BY
  • 四、范围(RANGE)定义
  • 五、RANGE 间隔
  • 六、ROW 间隔

  • 适用于流、批

一、Over聚合

OVER 聚合通过排序后的范围数据为每行输入计算出聚合值。和 GROUP BY 聚合不同, OVER 聚合不会把结果通过分组减少到一行,它会为每行输入增加一个聚合值。

下面这个查询为每个订单计算前一个小时之内接收到的同一产品所有订单的总金额。

SELECT order_id, order_time, amount,SUM(amount) OVER (PARTITION BY productORDER BY order_timeRANGE BETWEEN INTERVAL '1' HOUR PRECEDING AND CURRENT ROW) AS one_hour_prod_amount_sum
FROM Orders

这个Flink SQL查询的目标是,基于给定的订单数据,计算每个订单的订单时间之前一个小时内同一产品的总销售金额。

  • 首先,我们选择了"order_id"、"order_time"和"amount"这三个列。
  • 然后,我们使用SUM(amount) OVER (PARTITION BY product ORDER BY order_time RANGE BETWEEN INTERVAL ‘1’ HOUR PRECEDING AND CURRENT ROW)函数来计算每个订单的订单时间之前一个小时内同一产品的销售金额总和。
  • 在函数中,我们使用了PARTITION BY子句来指定按产品进行分区,即对每个产品分别计算销售金额总和。
  • 然后,我们使用ORDER BY子句来指定按订单时间进行排序,以确保计算的是订单时间之前的销售金额。
  • 最后,我们使用RANGE BETWEEN INTERVAL ‘1’ HOUR PRECEDING AND CURRENT ROW来指定计算的范围为订单时间之前一个小时到当前行(当前订单)。
  • 这个查询的结果将为每个订单提供订单时间之前一个小时内同一产品的销售金额总和。

下面总结了 OVER 窗口的语法:

SELECTagg_func(agg_col) OVER ([PARTITION BY col1[, col2, ...]]ORDER BY time_colrange_definition),...
FROM ...

你可以在一个 SELECT 子句中定义多个 OVER 窗口聚合。然而,对于流式查询,由于目前的限制,所有聚合的 OVER 窗口必须是相同的。

二、ORDER BY

OVER 窗口需要数据是有序的。因为表没有固定的排序,所以 ORDER BY 子句是强制的。对于流式查询,Flink 目前只支持 OVER 窗口定义在升序(asc)的 时间属性 上。其他的排序不支持。

三、PARTITION BY

OVER 窗口可以定义在一个分区表上。PARTITION BY 子句代表着每行数据只在其所属的数据分区进行聚合。

四、范围(RANGE)定义

范围(RANGE)定义指定了聚合中包含了多少行数据。范围通过 BETWEEN 子句定义上下边界,其内的所有行都会聚合。Flink 只支持 CURRENT ROW 作为上边界。

有两种方法可以定义范围:ROWS 间隔 和 RANGE 间隔

五、RANGE 间隔

RANGE 间隔是定义在排序列值上的,在 Flink 里,排序列总是一个时间属性。下面的 RANG 间隔定义了聚合会在比当前行的时间属性小 30 分钟的所有行上进行。

RANGE BETWEEN INTERVAL '30' MINUTE PRECEDING AND CURRENT ROW

六、ROW 间隔

ROWS 间隔基于计数。它定义了聚合操作包含的精确行数。下面的 ROWS 间隔定义了当前行 + 之前的 10 行(也就是11行)都会被聚合。

ROWS BETWEEN 10 PRECEDING AND CURRENT ROW
WINDOW

WINDOW 子句可用于在 SELECT 子句之外定义 OVER 窗口。它让查询可读性更好,也允许多个聚合共用一个窗口定义。

SELECT order_id, order_time, amount,SUM(amount) OVER w AS sum_amount,AVG(amount) OVER w AS avg_amount
FROM Orders
WINDOW w AS (PARTITION BY productORDER BY order_timeRANGE BETWEEN INTERVAL '1' HOUR PRECEDING AND CURRENT ROW)

这个Flink SQL查询的目标是,在给定的订单数据上,计算每个订单的订单时间之前一个小时内同一产品的销售金额总和和平均销售金额。

首先,我们选择了"order_id"、"order_time"和"amount"这三个列。

  • 然后,我们使用SUM(amount) OVER w和AVG(amount) OVER w函数分别计算每个订单的订单时间之前一个小时内同一产品的销售金额总和和平均销售金额。
  • 在函数中,我们定义了一个窗口w,使用WINDOW关键字来指定。窗口w使用了PARTITION BY子句按产品进行分区,并使用ORDER BY子句按订单时间进行排序。这样可以确保计算的是订单时间之前的销售金额。
  • 窗口w还使用了RANGE BETWEEN INTERVAL ‘1’ HOUR PRECEDING AND CURRENT ROW来指定计算的范围为订单时间之前一个小时到当前行(当前订单)。
  • 最后,通过将计算结果作为新的列名sum_amount和avg_amount,我们将计算的销售金额总和和平均销售金额添加到了查询结果中。
  • 这个查询的结果将包含每个订单的订单时间和销售金额,以及每个订单的订单时间之前一个小时内同一产品的销售金额总和和平均销售金额。
http://www.mmbaike.com/news/77265.html

相关文章:

  • 接app推广接单平台宁波seo服务快速推广
  • 网站建设简单点的app推广多少钱一单
  • 建设一个公司网站任务放单平台
  • 政府网站群建设总结搜外
  • 江苏网站建设找哪家网址域名查询ip地址
  • 网站建设需求怎么提国外网站搭建
  • 兴科cms网站建设系统搜索引擎优化网页
  • 榆林做网站网站建设流程
  • 画册设计免费模板百度搜索关键词排名优化
  • 张家港做网站收费标准网络营销自学网站
  • 网站建设的作用有哪些方面域名大全
  • nas搭建网站营销策划品牌策划
  • 副业做网站软件成人短期技能培训
  • 网页制作的公司排名北京优化推广公司
  • 网站备案链接今天发生的重大新闻5条
  • 宁波关键词优化排名工具百度关键词优化词精灵
  • 做日租房 网站网络营销战略
  • 哪个网站是营销型网站好的推广方式
  • 从化网站建设公司互联网舆情监测系统
  • 镇平做网站自媒体视频发布平台
  • 建设网站的服务器费用九幺seo工具
  • 企业网站公告怎么做全国知名网站排名
  • 网站建设岗位职责汕头网站建设推广
  • 做任务赚钱的网站有哪些网络推广代理怎么做
  • 南联企业网站建设谷歌应用商店下载
  • lnmp一键安装包 wordpressseo能干一辈子吗
  • 有一个做ppt的网站吗电子商务网站建设与维护
  • 自己建个网站多少钱自己做网站
  • 手机版网站制作费用网站seo怎么做
  • 两学一做 知识竞赛网站百度大数据分析工具