This is an automated email from the ASF dual-hosted git repository. justinchen pushed a commit to branch windowing in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit b764a88fb1fb8417088ad428bd0ca33be102f315 Author: Caideyipi <[email protected]> AuthorDate: Tue Feb 3 09:57:45 2026 +0800 initial --- .../window/processor/CountWindowingProcessor.java | 64 ++++++++++++++++++++++ .../config/constant/PipeProcessorConstant.java | 3 + 2 files changed, 67 insertions(+) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/window/processor/CountWindowingProcessor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/window/processor/CountWindowingProcessor.java new file mode 100644 index 00000000000..62e04fd4646 --- /dev/null +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/window/processor/CountWindowingProcessor.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.iotdb.db.pipe.processor.aggregate.window.processor; + +import org.apache.iotdb.db.pipe.processor.aggregate.window.datastructure.TimeSeriesWindow; +import org.apache.iotdb.db.pipe.processor.aggregate.window.datastructure.WindowOutput; +import org.apache.iotdb.db.pipe.processor.aggregate.window.datastructure.WindowState; +import org.apache.iotdb.pipe.api.annotation.TreeModel; +import org.apache.iotdb.pipe.api.customizer.configuration.PipeProcessorRuntimeConfiguration; +import org.apache.iotdb.pipe.api.customizer.parameter.PipeParameterValidator; +import org.apache.iotdb.pipe.api.customizer.parameter.PipeParameters; + +import org.apache.tsfile.utils.Pair; + +import java.util.List; +import java.util.Set; + +@TreeModel +public class CountWindowingProcessor extends AbstractSimpleTimeWindowingProcessor { + + private long count; + + @Override + public void validate(final PipeParameterValidator validator) throws Exception {} + + @Override + public void customize( + final PipeParameters parameters, final PipeProcessorRuntimeConfiguration configuration) + throws Exception {} + + @Override + public Set<TimeSeriesWindow> mayAddWindow( + final List<TimeSeriesWindow> windowList, final long timeStamp) { + return null; + } + + @Override + public Pair<WindowState, WindowOutput> updateAndMaySetWindowState( + final TimeSeriesWindow window, final long timeStamp) { + return null; + } + + @Override + public WindowOutput forceOutput(final TimeSeriesWindow window) { + return null; + } +} diff --git a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/constant/PipeProcessorConstant.java b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/constant/PipeProcessorConstant.java index 3874be8e817..68f04696a21 100644 --- a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/constant/PipeProcessorConstant.java +++ b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/constant/PipeProcessorConstant.java @@ -52,6 +52,9 @@ public class PipeProcessorConstant { public static final String PROCESSOR_SLIDING_SECONDS_KEY = "processor.sliding.seconds"; public static final long PROCESSOR_SLIDING_SECONDS_DEFAULT_VALUE = 120; + public static final String PROCESSOR_COUNT_KEY = "processor.count"; + public static final long PROCESSOR_COUNT_DEFAULT_VALUE = 60; + public static final String PROCESSOR_TUMBLING_TIME_INTERVAL_SECONDS_KEY = "processor.tumbling-time.interval-seconds"; public static final long PROCESSOR_TUMBLING_TIME_INTERVAL_SECONDS_DEFAULT_VALUE = 60;
