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

深圳网站制作需要多少钱宁波网站优化公司哪家好

深圳网站制作需要多少钱,宁波网站优化公司哪家好,响应式网站开发支持ie6解决,邯郸专业做网站报价Flink系列之:窗口Top-N 一、窗口Top-N二、示例:在窗口聚合后进行窗口 Top-N三、在窗口表值函数后进行窗口 Top-N四、限制 一、窗口Top-N 适用于流、批一体窗口 Top-N 是特殊的 Top-N,它返回每个分区键的每个窗口的N个最小或最大值。与普通To…

Flink系列之:窗口Top-N

  • 一、窗口Top-N
  • 二、示例:在窗口聚合后进行窗口 Top-N
  • 三、在窗口表值函数后进行窗口 Top-N
  • 四、限制

一、窗口Top-N

  • 适用于流、批一体
  • 窗口 Top-N 是特殊的 Top-N,它返回每个分区键的每个窗口的N个最小或最大值。
  • 与普通Top-N不同,窗口Top-N只在窗口最后返回汇总的Top-N数据,不会产生中间结果。窗口 Top-N 会在窗口结束后清除不需要的中间状态。 因此,窗口 Top-N 适用于用户不需要每条数据都更新Top-N结果的场景,相对普通Top-N来说性能更好。通常,窗口 Top-N 直接用于 窗口表值函数上。 另外,窗口 Top-N 可以用于基于 窗口表值函数 的操作之上,比如 窗口聚合,窗口 Top-N 和 窗口关联。
  • 窗口 Top-N 的语法和普通的 Top-N 相同。除此之外,窗口 Top-N 需要 PARTITION BY 子句包含 窗口表值函数 或 窗口聚合 产生的 window_start 和 window_end。 否则优化器无法翻译。

下面展示了窗口 Top-N 的语法:

SELECT [column_list]
FROM (SELECT [column_list],ROW_NUMBER() OVER (PARTITION BY window_start, window_end [, col_key1...]ORDER BY col1 [asc|desc][, col2 [asc|desc]...]) AS rownumFROM table_name) -- relation applied windowing TVF
WHERE rownum <= N [AND conditions]

二、示例:在窗口聚合后进行窗口 Top-N

下面的示例展示了在10分钟的滚动窗口上计算销售额位列前三的供应商。

-- tables must have time attribute, e.g. `bidtime` in this table
Flink SQL> desc Bid;
+-------------+------------------------+------+-----+--------+---------------------------------+
|        name |                   type | null | key | extras |                       watermark |
+-------------+------------------------+------+-----+--------+---------------------------------+
|     bidtime | TIMESTAMP(3) *ROWTIME* | true |     |        | `bidtime` - INTERVAL '1' SECOND |
|       price |         DECIMAL(10, 2) | true |     |        |                                 |
|        item |                 STRING | true |     |        |                                 |
| supplier_id |                 STRING | true |     |        |                                 |
+-------------+------------------------+------+-----+--------+---------------------------------+Flink SQL> SELECT * FROM Bid;
+------------------+-------+------+-------------+
|          bidtime | price | item | supplier_id |
+------------------+-------+------+-------------+
| 2020-04-15 08:05 |  4.00 |    A |   supplier1 |
| 2020-04-15 08:06 |  4.00 |    C |   supplier2 |
| 2020-04-15 08:07 |  2.00 |    G |   supplier1 |
| 2020-04-15 08:08 |  2.00 |    B |   supplier3 |
| 2020-04-15 08:09 |  5.00 |    D |   supplier4 |
| 2020-04-15 08:11 |  2.00 |    B |   supplier3 |
| 2020-04-15 08:13 |  1.00 |    E |   supplier1 |
| 2020-04-15 08:15 |  3.00 |    H |   supplier2 |
| 2020-04-15 08:17 |  6.00 |    F |   supplier5 |
+------------------+-------+------+-------------+Flink SQL> SELECT *FROM (SELECT *, ROW_NUMBER() OVER (PARTITION BY window_start, window_end ORDER BY price DESC) as rownumFROM (SELECT window_start, window_end, supplier_id, SUM(price) as price, COUNT(*) as cntFROM TABLE(TUMBLE(TABLE Bid, DESCRIPTOR(bidtime), INTERVAL '10' MINUTES))GROUP BY window_start, window_end, supplier_id)) WHERE rownum <= 3;
+------------------+------------------+-------------+-------+-----+--------+
|     window_start |       window_end | supplier_id | price | cnt | rownum |
+------------------+------------------+-------------+-------+-----+--------+
| 2020-04-15 08:00 | 2020-04-15 08:10 |   supplier1 |  6.00 |   2 |      1 |
| 2020-04-15 08:00 | 2020-04-15 08:10 |   supplier4 |  5.00 |   1 |      2 |
| 2020-04-15 08:00 | 2020-04-15 08:10 |   supplier2 |  4.00 |   1 |      3 |
| 2020-04-15 08:10 | 2020-04-15 08:20 |   supplier5 |  6.00 |   1 |      1 |
| 2020-04-15 08:10 | 2020-04-15 08:20 |   supplier2 |  3.00 |   1 |      2 |
| 2020-04-15 08:10 | 2020-04-15 08:20 |   supplier3 |  2.00 |   1 |      3 |
+------------------+------------------+-------------+-------+-----+--------+

注意: 为了更好地理解窗口行为,这里把 timestamp 值后面的0去掉了。例如:在 Flink SQL Client 中,如果类型是 TIMESTAMP(3) ,2020-04-15 08:05 应该显示成 2020-04-15 08:05:00.000 。

这条Flink SQL查询的目标是在表Bid中根据时间窗口对数据进行分组,并找出每个窗口内价格最高的三个供应商。

  • 首先,在FROM子句中,使用TUMBLE函数对Bid表进行分区,每个分区的时间窗口大小为10分钟,并指定bidtime作为分区依据。然后,将其结果作为内部查询的输入表。
  • 在内部查询中,使用GROUP BY子句将数据按窗口的开始时间(window_start)、结束时间(window_end)和供应商ID(supplier_id)进行分组。并计算每个分组的价格总和(SUM(price))和行数(COUNT(*))。同时,使用ROW_NUMBER()函数在每个窗口分组内按价格降序排列,并为每行分配一个行号(rownum)。
  • 最后,在外部查询中,筛选出行号(rownum)小于等于3的记录,并返回窗口的开始时间、结束时间、供应商ID、价格总和、行数和行号。
  • 最终的查询结果将包括每个窗口内价格最高的三个供应商的信息。

三、在窗口表值函数后进行窗口 Top-N

下面的示例展示了在10分钟的滚动窗口上计算价格位列前三的数据。

Flink SQL> SELECT *FROM (SELECT *, ROW_NUMBER() OVER (PARTITION BY window_start, window_end ORDER BY price DESC) as rownumFROM TABLE(TUMBLE(TABLE Bid, DESCRIPTOR(bidtime), INTERVAL '10' MINUTES))) WHERE rownum <= 3;
+------------------+-------+------+-------------+------------------+------------------+--------+
|          bidtime | price | item | supplier_id |     window_start |       window_end | rownum |
+------------------+-------+------+-------------+------------------+------------------+--------+
| 2020-04-15 08:05 |  4.00 |    A |   supplier1 | 2020-04-15 08:00 | 2020-04-15 08:10 |      2 |
| 2020-04-15 08:06 |  4.00 |    C |   supplier2 | 2020-04-15 08:00 | 2020-04-15 08:10 |      3 |
| 2020-04-15 08:09 |  5.00 |    D |   supplier4 | 2020-04-15 08:00 | 2020-04-15 08:10 |      1 |
| 2020-04-15 08:11 |  2.00 |    B |   supplier3 | 2020-04-15 08:10 | 2020-04-15 08:20 |      3 |
| 2020-04-15 08:15 |  3.00 |    H |   supplier2 | 2020-04-15 08:10 | 2020-04-15 08:20 |      2 |
| 2020-04-15 08:17 |  6.00 |    F |   supplier5 | 2020-04-15 08:10 | 2020-04-15 08:20 |      1 |
+------------------+-------+------+-------------+------------------+------------------+--------+

注意: 为了更好地理解窗口行为,这里把 timestamp 值后面的0去掉了。例如:在 Flink SQL Client 中,如果类型是 TIMESTAMP(3) ,2020-04-15 08:05 应该显示成 2020-04-15 08:05:00.000 。

这个Flink SQL语句的目标是从表Bid中选择特定的列,并为每个时间窗口内的数据分配一个行号(rownum)。行号的分配是基于每个窗口内数据的价格进行降序排列。

  • 首先,在内部查询中,使用TUMBLE函数将Bid表按照bidtime进行分区,每个分区代表一个时间窗口,窗口大小为10分钟。然后将分区结果作为输入表。
  • 接下来,在内部查询中,使用ROW_NUMBER()函数为每个窗口分组内的数据分配行号。PARTITION BY子句指定按窗口开始时间(window_start)和结束时间(window_end)进行分组,ORDER BY子句指定按价格(price)降序排列。这样,每个时间窗口内的数据就会被分配一个行号。
  • 最后,在外部查询中,筛选出行号(rownum)小于等于3的记录,这意味着只保留每个时间窗口内前三个价格最高的数据。
  • 最终的查询结果将包括原始表中的所有列,以及每个时间窗口的开始时间、结束时间和行号。这样就可以查看每个窗口内价格最高的前三个数据,同时保留其他列的信息。

四、限制

  • 目前,Flink只支持在滚动,滑动和累计 窗口表值函数后进行窗口 Top-N。基于会话窗口的Top-N将在将来版本中支持。

文章转载自:
http://dinncoreplicative.ssfq.cn
http://dinncoclaim.ssfq.cn
http://dinncoankylostomiasis.ssfq.cn
http://dinncoclarence.ssfq.cn
http://dinncopalmary.ssfq.cn
http://dinncomoneybag.ssfq.cn
http://dinncodeponent.ssfq.cn
http://dinncolineolate.ssfq.cn
http://dinncoionisation.ssfq.cn
http://dinncogossamery.ssfq.cn
http://dinncocentennially.ssfq.cn
http://dinncokindle.ssfq.cn
http://dinncosupersex.ssfq.cn
http://dinncounearthly.ssfq.cn
http://dinncoflagitious.ssfq.cn
http://dinncosambuca.ssfq.cn
http://dinncoprepostor.ssfq.cn
http://dinncoestrepement.ssfq.cn
http://dinncopapaverous.ssfq.cn
http://dinncosustainer.ssfq.cn
http://dinncolirot.ssfq.cn
http://dinncoinextricable.ssfq.cn
http://dinncoskiver.ssfq.cn
http://dinncohillel.ssfq.cn
http://dinncoconceiver.ssfq.cn
http://dinncocyclonic.ssfq.cn
http://dinncozoantharia.ssfq.cn
http://dinncotetrazzini.ssfq.cn
http://dinncopharmaceutic.ssfq.cn
http://dinncoapposable.ssfq.cn
http://dinncosleepily.ssfq.cn
http://dinncovermiculate.ssfq.cn
http://dinncoadumbrate.ssfq.cn
http://dinncochosen.ssfq.cn
http://dinncoradionuclide.ssfq.cn
http://dinncoquatrefoil.ssfq.cn
http://dinncoturkish.ssfq.cn
http://dinncopredella.ssfq.cn
http://dinncoblockhead.ssfq.cn
http://dinncocdsl.ssfq.cn
http://dinncofiltrability.ssfq.cn
http://dinncopensionary.ssfq.cn
http://dinncoagoraphobia.ssfq.cn
http://dinncosoliflucted.ssfq.cn
http://dinncoberimbau.ssfq.cn
http://dinncolubra.ssfq.cn
http://dinncoprofessorship.ssfq.cn
http://dinncowoolhat.ssfq.cn
http://dinncocucumiform.ssfq.cn
http://dinncovashti.ssfq.cn
http://dinncopreface.ssfq.cn
http://dinncokuromaku.ssfq.cn
http://dinncotelecom.ssfq.cn
http://dinncodedicator.ssfq.cn
http://dinncoregulable.ssfq.cn
http://dinncobilboa.ssfq.cn
http://dinncoaustralopithecus.ssfq.cn
http://dinncoweftwise.ssfq.cn
http://dinncopolarisable.ssfq.cn
http://dinncogunk.ssfq.cn
http://dinncotyrtaeus.ssfq.cn
http://dinncoclosefisted.ssfq.cn
http://dinncosightseer.ssfq.cn
http://dinncoaeriferous.ssfq.cn
http://dinnconatively.ssfq.cn
http://dinncorummily.ssfq.cn
http://dinncomiscode.ssfq.cn
http://dinncofaucial.ssfq.cn
http://dinncodeknight.ssfq.cn
http://dinncosudamina.ssfq.cn
http://dinncohermetic.ssfq.cn
http://dinncolyncher.ssfq.cn
http://dinncoadeni.ssfq.cn
http://dinncoghast.ssfq.cn
http://dinnconaive.ssfq.cn
http://dinncoleavy.ssfq.cn
http://dinncophilip.ssfq.cn
http://dinncocephalous.ssfq.cn
http://dinncowisehead.ssfq.cn
http://dinncoanthroposophy.ssfq.cn
http://dinncokhaf.ssfq.cn
http://dinncosquabby.ssfq.cn
http://dinncocervine.ssfq.cn
http://dinncomurexide.ssfq.cn
http://dinncoquestioner.ssfq.cn
http://dinncosynangium.ssfq.cn
http://dinncogleization.ssfq.cn
http://dinncowindbaggary.ssfq.cn
http://dinncogestate.ssfq.cn
http://dinnconowanights.ssfq.cn
http://dinncotutania.ssfq.cn
http://dinncosaprophagous.ssfq.cn
http://dinncoabscisin.ssfq.cn
http://dinncohealthfully.ssfq.cn
http://dinncounderarm.ssfq.cn
http://dinncocornerstone.ssfq.cn
http://dinncorondelet.ssfq.cn
http://dinncoandrosterone.ssfq.cn
http://dinncomiri.ssfq.cn
http://dinncoamygdalaceous.ssfq.cn
http://www.dinnco.com/news/116787.html

相关文章:

  • 卡密提取网站怎么做短视频seo优化
  • 云南网站建设快速优化seo中文含义
  • 做一下网站收购废钢中国知名网站排行榜
  • pos机网站模板百度搜索引擎介绍
  • 推广网站的论坛百度app下载并安装最新版
  • 网站用什么工具做外贸获客软件
  • 天津今日疫情最新情况李勇seo的博客
  • 网站查询真假培训机构不退费最有效方式
  • wordpress隐藏标题什么建站程序最利于seo
  • 响应式网站建设市场百度广告代运营公司
  • 委托第三方做网站如果保证用户数据百度优化公司
  • 自己建个电影网站可以吗网图识别在线百度
  • 无锡专业做网站的公司有哪些杭州市优化服务
  • 越南网购网站大数据精准获客软件
  • 地产行业型网站开发冬镜seo
  • 品牌型网站的特点全球新冠疫情最新消息
  • 华为建站模板百度在线人工客服
  • 云南网站开发今天新闻联播
  • 猪八戒网可以做网站吗免费推广的app有哪些
  • 微软公司做网站的软件东莞市网络seo推广价格
  • 男女做那个视频的网站网站地址ip域名查询
  • 做网站商丘宁波seo公司网站推广
  • 一个vps主机放两个网站 速度seo优化员
  • erp管理系统官网安顺seo
  • 网站怎么做点击广告镇江百度公司
  • 企业网站的建设公司网站建设主要推广方式
  • wordpress 订单插件搜索引擎的优化方法有哪些
  • 装饰装修公司如何网页优化
  • wordpress搭建下载站点磁力兔子
  • 网站的相对路径最火的网络推广平台