Lei Rui created IOTDB-5421:
------------------------------
Summary: Add sampling attributes for M4
Key: IOTDB-5421
URL: https://issues.apache.org/jira/browse/IOTDB-5421
Project: Apache IoTDB
Issue Type: New Feature
Reporter: Lei Rui
Previously, the M4 function supports two types of attribute inputs (actually
two types of sliding windows):
(1) Control the sliding *size* window using attributes {{windowSize}} and
{{{}slidingStep{}}}. For example: {{{}select
M4(s1,'windowSize'='10','slidingStep'='10') as samples from root.vehicle.d1{}}}.
(2) Control the sliding *time* window using attributes {{{}windowInterval{}}},
{{{}slidingStep{}}}, {{displayWindowBegin}} and {{{}displayWindowEnd{}}}. For
example: {{{}select
M4(s1,'windowInterval'='25','slidingStep'='25','displayWindowBegin'='0','displayWindowEnd'='100')
as samples from root.vehicle.d1{}}}.
As proposes in a real use case (ZhongHe&DWF), the user wants to control M4
behaviors using the following sampling attributes: {{{}samplingInterval{}}},
{{{}samplingThreshold{}}}, {{{}displayWindowBegin{}}},
{{{}displayWindowEnd{}}}. For example: {{{}select
M4(s1,'samplingInterval'='5','samplingThreshold'='100','displayWindowBegin'='0','displayWindowEnd'='150')
as samples from root.vehicle.d1{}}}.
* {{{}samplingInterval{}}}: The sampling time interval length. Long data type.
{*}Required{*}.
* {{{}samplingThreshold{}}}: The upper limit of the number of sampling points.
Long data type. Optional. If not set, default to 10000.
* {{{}displayWindowBegin{}}}: The starting position of the window (included).
Long data type. {*}Required{*}.
* {{{}displayWindowEnd{}}}: End time limit (excluded, essentially playing the
same role as {{{}WHERE time < displayWindowEnd{}}}). Long data type.
{*}Required{*}.
The user-defined sampling time window is a special kind of sliding time window,
which is special in that:
# There is a conversion relationship between the length of the sliding time
window {{windowInterval}} and the sampling time interval {{samplingInterval.
}}Note that here user *indirectly* controls the window time length
{{{}windowInterval{}}}.
# The sliding step of the sliding time window {{slidingStep}} is fixed to be
equal to the window length {{windowInterval}} here, so there is no need for the
user to input the {{slidingStep}} parameter.
# {{displayWindowBegin}} and {{displayWindowEnd}} are required parameters here.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)