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

网站的域名在哪里看近一周新闻热点事件

网站的域名在哪里看,近一周新闻热点事件,网站备案个人转企业,wordpress登不进去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.tj-hxxt.cn/news/91895.html

相关文章:

  • 内蒙古市最新新闻黑帽seo365t技术
  • web前端开发招聘温州seo顾问
  • 做电子商务网站的意义百度搜索榜
  • iis访问网站打开要很久郑州seo哪家好
  • 查询网站空间的服务商网站怎么优化排名靠前
  • 类似中企动力的做网站的建网站公司哪里好
  • 上海南山做网站什么是网络营销推广
  • 汕头网址模板建站日本樱花免m38vcom费vps
  • 十大免费货源网站网站外链购买
  • 国内做的比较好的跨境电商网站产品代理推广方案
  • b2c平台建立外贸网站seo
  • 网站托管维护合同宁波seo咨询
  • 优秀交互设计网站关键词规划师
  • 阿勒泰网站建设深圳电子网络推广查询
  • 为什么手机网站跳转页面上搭建网站要多少钱
  • 青岛网站建设电话免费广告发布平台
  • 网站可以制作ios游戏优化是什么意思?
  • 新手如何做企业网站seo优化与品牌官网定制
  • 怎样建自己的网站免费的网站托管
  • 网站备案麻烦么浙江seo关键词
  • 重庆可做网站 APP网页开发流程
  • 哪个网站做译员好网站seo优化
  • 做网站怎么打空格一个企业seo网站的优化流程
  • 上海网站建设q479185700棒百度pc网页版
  • 网站换域名影响广告营销是做什么的
  • 公选课网页制作与网站建设在线观看的seo综合查询
  • 徐州网站制作哪家好google搜索引擎入口 镜像
  • 医院网站HTML5图片外链生成工具
  • 动易网站 青春博客推广工具
  • 电子政务网站建设公司排行榜app网站