You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by le...@apache.org on 2022/02/14 04:06:53 UTC

[iotdb] 19/32: update

This is an automated email from the ASF dual-hosted git repository.

leirui pushed a commit to branch research/M4-visualization
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 33628499610d398adc090379fb01eb8247d7841b
Author: Lei Rui <10...@qq.com>
AuthorDate: Sun Feb 6 01:28:06 2022 +0800

    update
---
 .../org/apache/iotdb/queryExp/SumResultUnify.java  | 36 ++++++++++++++++++++++
 .../org/apache/iotdb/writeData/WriteFullGame.java  | 26 ++++++++++------
 2 files changed, 53 insertions(+), 9 deletions(-)

diff --git a/example/session/src/main/java/org/apache/iotdb/queryExp/SumResultUnify.java b/example/session/src/main/java/org/apache/iotdb/queryExp/SumResultUnify.java
new file mode 100644
index 0000000..850d876
--- /dev/null
+++ b/example/session/src/main/java/org/apache/iotdb/queryExp/SumResultUnify.java
@@ -0,0 +1,36 @@
+package org.apache.iotdb.queryExp;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+public class SumResultUnify {
+
+  public static void main(String[] args) throws IOException {
+    String moc = args[0]; // sumResultMOC.csv
+    String mac = args[1]; // sumResultMAC.csv
+    String cpv = args[2]; // sumResultCPV.csv
+    String out = args[3];
+
+    BufferedReader mocReader = new BufferedReader(new FileReader(moc));
+    BufferedReader macReader = new BufferedReader(new FileReader(mac));
+    BufferedReader cpvReader = new BufferedReader(new FileReader(cpv));
+    PrintWriter printWriter = new PrintWriter(new FileWriter(out));
+    String mocLine;
+    String macLine;
+    String cpvLine;
+    String appendLine;
+    while ((mocLine = mocReader.readLine()) != null) {
+      macLine = macReader.readLine();
+      cpvLine = cpvReader.readLine();
+      appendLine = mocLine + "," + macLine + "," + cpvLine;
+      printWriter.println(appendLine);
+    }
+    printWriter.close();
+    mocReader.close();
+    macReader.close();
+    cpvReader.close();
+  }
+}
diff --git a/example/session/src/main/java/org/apache/iotdb/writeData/WriteFullGame.java b/example/session/src/main/java/org/apache/iotdb/writeData/WriteFullGame.java
index c2ae869..ce37ba8 100644
--- a/example/session/src/main/java/org/apache/iotdb/writeData/WriteFullGame.java
+++ b/example/session/src/main/java/org/apache/iotdb/writeData/WriteFullGame.java
@@ -44,7 +44,7 @@ public class WriteFullGame {
     // this is to make all following inserts unseq chunks
     session.insertRecord(
         device,
-        System.nanoTime(),
+        System.nanoTime(), // NOTE UPDATE TIME DATATYPE!
         Collections.singletonList(measurements),
         Collections.singletonList(tsDataType), // NOTE UPDATE VALUE DATATYPE!
         0L); // NOTE UPDATE VALUE DATATYPE!!!
@@ -54,6 +54,7 @@ public class WriteFullGame {
     File f = new File(filePath);
     String line = null;
     BufferedReader reader = new BufferedReader(new FileReader(f));
+    int lastDeleteIdx = -1;
     while ((line = reader.readLine()) != null) {
       String[] split = line.split(",");
       long timestamp = Long.parseLong(split[timeIdx]);
@@ -65,17 +66,24 @@ public class WriteFullGame {
       }
       timestamp = (long) (timestamp / 1000); // turn to ns. original time unit is ps. IoTDB only ns.
 
-      if (deleteFreq != 0 && timestamp != 0 && timestamp % deleteFreq == 0) {
-        // [timestamp-deleteFreq, timestamp-1]内随机取一个删除时间起点
-        long min = timestamp - deleteFreq;
-        long max = timestamp - 1;
-        long deleteStartTime = min + (((long) (new Random().nextDouble() * (max - min))));
-        long deleteEndTime = deleteStartTime + deleteLen - 1;
-        session.deleteData(deletePaths, deleteStartTime, deleteEndTime);
+      if (deleteFreq != 0) {
+        int idx = (int) Math.floor(timestamp * 1.0 / deleteFreq);
+        //        System.out.println(timestamp + "," + deleteFreq + "," + idx);
+        if (idx > 0 && idx != lastDeleteIdx) {
+          lastDeleteIdx = idx;
+          // [timestamp-deleteFreq, timestamp-1]内随机取一个删除时间起点
+          long min = timestamp - deleteFreq;
+          long max = timestamp - 1;
+          long deleteStartTime = min + (((long) (new Random().nextDouble() * (max - min))));
+          long deleteEndTime = deleteStartTime + deleteLen - 1;
+          session.deleteData(deletePaths, deleteStartTime, deleteEndTime);
+
+          //          System.out.println("[[[[delete]]]]]" + deleteStartTime + "," + deleteEndTime);
+
+        }
       }
 
       long value = Long.parseLong(split[valueIdx]);
-
       session.insertRecord(
           device,
           timestamp,