|
@@ -1,277 +0,0 @@
|
|
-{
|
|
|
|
- "about": {
|
|
|
|
- "trial": false,
|
|
|
|
- "author": {
|
|
|
|
- "name": "EMQ",
|
|
|
|
- "email": "contact@emqx.io",
|
|
|
|
- "company": "EMQ Technologies Co., Ltd",
|
|
|
|
- "website": "https://www.emqx.io"
|
|
|
|
- },
|
|
|
|
- "helpUrl": {
|
|
|
|
- "en_US": "https://github.com/lf-edge/ekuiper/blob/master/docs/en_US/sqls/windows.md",
|
|
|
|
- "zh_CN": "https://github.com/lf-edge/ekuiper/blob/master/docs/zh_CN/sqls/windows.md"
|
|
|
|
- },
|
|
|
|
- "description": {
|
|
|
|
- "en_US": "In time-streaming scenarios, performing operations on the data contained in temporal windows is a common pattern. eKuiper has native support for windowing functions, enabling you to author complex stream processing jobs with minimal effort.",
|
|
|
|
- "zh_CN": "在时间流场景中,对时态窗口中包含的数据执行操作是一种常见的模式。eKuiper 对窗口函数提供本机支持,使您能够以最小的工作量编写复杂的流处理作业。"
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- "functions": [{
|
|
|
|
- "name": "TUMBLINGWINDOW",
|
|
|
|
- "example": "SELECT count(*) FROM demo GROUP BY ID, TUMBLINGWINDOW(ss, 10);",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Tumbling window functions are used to segment a data stream into distinct time segments and perform a function against them, such as the example below. The key differentiators of a Tumbling window are that they repeat, do not overlap, and an event cannot belong to more than one tumbling window.",
|
|
|
|
- "zh_CN": "滚动窗口函数用于将数据流分割成不同的时间段,并对其执行函数,例如下面的示例。滚动窗口的关键区别在于它们重复不重叠,并且一个事件不能属于多个翻滚窗口。"
|
|
|
|
- },
|
|
|
|
- "args": [
|
|
|
|
- {
|
|
|
|
- "name": "timeunit",
|
|
|
|
- "optional": false,
|
|
|
|
- "control": "select",
|
|
|
|
- "type": "string",
|
|
|
|
- "values": ["ms", "ss", "mi", "hh", "dd"],
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "The time unit to calculate window time",
|
|
|
|
- "zh_CN": "窗口时间单位"
|
|
|
|
- },
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Timeunit",
|
|
|
|
- "zh_CN": "时间单位"
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "name": "length",
|
|
|
|
- "optional": false,
|
|
|
|
- "control": "text",
|
|
|
|
- "type": "int",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Window length",
|
|
|
|
- "zh_CN": "窗口长度"
|
|
|
|
- },
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Window Length",
|
|
|
|
- "zh_CN": "窗口长度"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
- "node": {
|
|
|
|
- "category": "function",
|
|
|
|
- "icon": "iconPath",
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Tumbling Window",
|
|
|
|
- "zh_CN": "滚动窗口"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }, {
|
|
|
|
- "name": "HOPPINGWINDOW",
|
|
|
|
- "example": "SELECT count(*) FROM demo GROUP BY ID, HOPPINGWINDOW(ss, 10, 5);",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Hopping window functions hop forward in time by a fixed period. It may be easy to think of them as Tumbling windows that can overlap, so events can belong to more than one Hopping window result set. To make a Hopping window the same as a Tumbling window, specify the hop size to be the same as the window size.",
|
|
|
|
- "zh_CN": "跳跃窗口功能会在时间上向前跳一段固定的时间。 将它们视为可能重叠的翻转窗口可能很容易,因此事件可以属于多个跳跃窗口结果集。 要使跳跃窗口与翻转窗口相同,请将跳跃大小指定为与窗口大小相同。"
|
|
|
|
- },
|
|
|
|
- "args": [
|
|
|
|
- {
|
|
|
|
- "name": "timeunit",
|
|
|
|
- "optional": false,
|
|
|
|
- "control": "select",
|
|
|
|
- "type": "string",
|
|
|
|
- "values": ["ms", "ss", "mi", "hh", "dd"],
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "The time unit to calculate window time",
|
|
|
|
- "zh_CN": "窗口时间单位"
|
|
|
|
- },
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Timeunit",
|
|
|
|
- "zh_CN": "时间单位"
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "name": "length",
|
|
|
|
- "optional": false,
|
|
|
|
- "control": "text",
|
|
|
|
- "type": "int",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Window length",
|
|
|
|
- "zh_CN": "窗口长度"
|
|
|
|
- },
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Window Length",
|
|
|
|
- "zh_CN": "窗口长度"
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "name": "hopsize",
|
|
|
|
- "optional": false,
|
|
|
|
- "control": "text",
|
|
|
|
- "type": "int",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Hop size",
|
|
|
|
- "zh_CN": "窗口跳跃长度"
|
|
|
|
- },
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Hop Size",
|
|
|
|
- "zh_CN": "窗口跳跃长度"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
- "node": {
|
|
|
|
- "category": "function",
|
|
|
|
- "icon": "iconPath",
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Hopping Window",
|
|
|
|
- "zh_CN": "跳跃窗口"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }, {
|
|
|
|
- "name": "SLIDINGWINDOW",
|
|
|
|
- "example": "SELECT count(*) FROM demo GROUP BY ID, SLIDINGWINDOW(mm, 1);",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Sliding window functions, unlike Tumbling or Hopping windows, produce an output ONLY when an event occurs. Every window will have at least one event and the window continuously moves forward by an € (epsilon). Like hopping windows, events can belong to more than one sliding window.",
|
|
|
|
- "zh_CN": "滑动窗口功能与翻转或跳动窗口不同,仅在事件发生时会产生输出。 每个窗口至少会有一个事件,并且该窗口连续向前移动€(ε)。 就像跳跃窗口一样,事件可以属于多个滑动窗口。"
|
|
|
|
- },
|
|
|
|
- "args": [
|
|
|
|
- {
|
|
|
|
- "name": "timeunit",
|
|
|
|
- "optional": false,
|
|
|
|
- "control": "select",
|
|
|
|
- "type": "string",
|
|
|
|
- "values": ["ms", "ss", "mi", "hh", "dd"],
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "The time unit to calculate window time",
|
|
|
|
- "zh_CN": "窗口时间单位"
|
|
|
|
- },
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Timeunit",
|
|
|
|
- "zh_CN": "时间单位"
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "name": "length",
|
|
|
|
- "optional": false,
|
|
|
|
- "control": "text",
|
|
|
|
- "type": "int",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Window length",
|
|
|
|
- "zh_CN": "窗口长度"
|
|
|
|
- },
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Window Length",
|
|
|
|
- "zh_CN": "窗口长度"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
- "node": {
|
|
|
|
- "category": "function",
|
|
|
|
- "icon": "iconPath",
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Sliding Window",
|
|
|
|
- "zh_CN": "滑动窗口"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }, {
|
|
|
|
- "name": "SESSIONWINDOW",
|
|
|
|
- "example": "SELECT count(*) FROM demo GROUP BY ID, SESSIONWINDOW(mm, 2, 1);",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Session window functions group events that arrive at similar times, filtering out periods of time where there is no data. It has two main parameters: timeout and maximum duration.",
|
|
|
|
- "zh_CN": "会话窗口功能对在相似时间到达的事件进行分组,以过滤掉没有数据的时间段。 它有两个主要参数:超时和最大持续时间。"
|
|
|
|
- },
|
|
|
|
- "args": [
|
|
|
|
- {
|
|
|
|
- "name": "timeunit",
|
|
|
|
- "optional": false,
|
|
|
|
- "control": "select",
|
|
|
|
- "type": "string",
|
|
|
|
- "values": ["ms", "ss", "mi", "hh", "dd"],
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "The time unit to calculate window time",
|
|
|
|
- "zh_CN": "窗口时间单位"
|
|
|
|
- },
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Timeunit",
|
|
|
|
- "zh_CN": "时间单位"
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "name": "length",
|
|
|
|
- "optional": false,
|
|
|
|
- "control": "text",
|
|
|
|
- "type": "int",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Window length",
|
|
|
|
- "zh_CN": "最大窗口长度"
|
|
|
|
- },
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Window Length",
|
|
|
|
- "zh_CN": "最大窗口长度"
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "name": "timeout",
|
|
|
|
- "optional": false,
|
|
|
|
- "control": "text",
|
|
|
|
- "type": "int",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Timeout",
|
|
|
|
- "zh_CN": "超时时长"
|
|
|
|
- },
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Timeout",
|
|
|
|
- "zh_CN": "超时时长"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
- "node": {
|
|
|
|
- "category": "function",
|
|
|
|
- "icon": "iconPath",
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Session Window",
|
|
|
|
- "zh_CN": "会话窗口"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }, {
|
|
|
|
- "name": "COUNTWINDOW",
|
|
|
|
- "example": "SELECT * FROM demo WHERE temperature > 20 GROUP BY COUNTWINDOW(5)",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Tumbling count window is similar to general tumbling window, events in a tumbling window can not repeat, do not overlap, and an event cannot belong to more than one tumbling window. Below is a count window with 5 events length.",
|
|
|
|
- "zh_CN": "滚动计数窗口与一般的滚动窗口类似,在滚动窗口中的事件不重复、不重叠,一个事件不会属于多个滚动窗口。以下是一个长度为 5 的滚动计数窗口。"
|
|
|
|
- },
|
|
|
|
- "args": [
|
|
|
|
- {
|
|
|
|
- "name": "length",
|
|
|
|
- "optional": false,
|
|
|
|
- "control": "text",
|
|
|
|
- "type": "int",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Window length",
|
|
|
|
- "zh_CN": "窗口长度"
|
|
|
|
- },
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Window Length",
|
|
|
|
- "zh_CN": "窗口长度"
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "name": "timeout",
|
|
|
|
- "optional": true,
|
|
|
|
- "control": "text",
|
|
|
|
- "type": "int",
|
|
|
|
- "hint": {
|
|
|
|
- "en_US": "Trigger Length",
|
|
|
|
- "zh_CN": "触发长度"
|
|
|
|
- },
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Trigger Length",
|
|
|
|
- "zh_CN": "触发长度"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
- "node": {
|
|
|
|
- "category": "function",
|
|
|
|
- "icon": "iconPath",
|
|
|
|
- "label": {
|
|
|
|
- "en_US": "Count Window",
|
|
|
|
- "zh_CN": "计数窗口"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }]
|
|
|
|
-}
|
|
|