You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2019/11/30 07:39:32 UTC
[incubator-iotdb] branch rel/0.9 updated: fix statistics batch
(#593)
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch rel/0.9
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/rel/0.9 by this push:
new 4e310ea fix statistics batch (#593)
4e310ea is described below
commit 4e310ea608c2e43d80fd5c4e982c927ba55c590d
Author: Jialin Qiao <qj...@mails.tsinghua.edu.cn>
AuthorDate: Sat Nov 30 15:39:25 2019 +0800
fix statistics batch (#593)
---
.../file/metadata/statistics/BinaryStatistics.java | 9 +++---
.../metadata/statistics/BooleanStatistics.java | 9 +++---
.../file/metadata/statistics/DoubleStatistics.java | 10 +++---
.../file/metadata/statistics/FloatStatistics.java | 10 +++---
.../metadata/statistics/IntegerStatistics.java | 9 +++---
.../file/metadata/statistics/LongStatistics.java | 8 ++---
.../file/metadata/statistics/NoStatistics.java | 8 ++---
.../file/metadata/statistics/Statistics.java | 20 ++++--------
.../iotdb/tsfile/write/chunk/ChunkWriterImpl.java | 36 ++++------------------
.../iotdb/tsfile/write/chunk/IChunkWriter.java | 10 ------
10 files changed, 42 insertions(+), 87 deletions(-)
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BinaryStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BinaryStatistics.java
index 64dc577..6926793 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BinaryStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BinaryStatistics.java
@@ -110,14 +110,13 @@ public class BinaryStatistics extends Statistics<Binary> {
}
@Override
- public void updateStats(Binary[] values) {
- for (Binary value : values) {
+ public void updateStats(Binary[] values, int batchSize) {
+ for (int i = 0; i < batchSize; i++) {
if (isEmpty) {
- initializeStats(value, value, value, value, 0);
+ initializeStats(values[i], values[i], values[i], values[i], 0);
isEmpty = false;
} else {
- updateStats(value, value, value, value, 0);
- isEmpty = false;
+ updateStats(values[i], values[i], values[i], values[i], 0);
}
}
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BooleanStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BooleanStatistics.java
index 097dba0..f5b97f6 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BooleanStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BooleanStatistics.java
@@ -53,14 +53,13 @@ public class BooleanStatistics extends Statistics<Boolean> {
}
@Override
- public void updateStats(boolean[] values) {
- for (boolean value : values) {
+ public void updateStats(boolean[] values, int batchSize) {
+ for (int i = 0; i < batchSize; i++) {
if (isEmpty) {
- initializeStats(value, value, value, value, 0);
+ initializeStats(values[i], values[i], values[i], values[i], 0);
isEmpty = false;
} else {
- updateStats(value, value, value, value, 0);
- isEmpty = false;
+ updateStats(values[i], values[i], values[i], values[i], 0);
}
}
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java
index 250aaac..45e0163 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java
@@ -52,13 +52,13 @@ public class DoubleStatistics extends Statistics<Double> {
}
@Override
- public void updateStats(double[] values) {
- for (double value : values) {
- if (this.isEmpty) {
- initializeStats(value, value, value, value, value);
+ public void updateStats(double[] values, int batchSize) {
+ for (int i = 0; i < batchSize; i++) {
+ if (isEmpty) {
+ initializeStats(values[i], values[i], values[i], values[i], values[i]);
isEmpty = false;
} else {
- updateStats(value, value, value, value, value);
+ updateStats(values[i], values[i], values[i], values[i], values[i]);
}
}
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatistics.java
index e1f487b..6ecea31 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatistics.java
@@ -52,13 +52,13 @@ public class FloatStatistics extends Statistics<Float> {
}
@Override
- public void updateStats(float[] values) {
- for (float value : values) {
- if (this.isEmpty) {
- initializeStats(value, value, value, value, value);
+ public void updateStats(float[] values, int batchSize) {
+ for (int i = 0; i < batchSize; i++) {
+ if (isEmpty) {
+ initializeStats(values[i], values[i], values[i], values[i], values[i]);
isEmpty = false;
} else {
- updateStats(value, value, value, value, value);
+ updateStats(values[i], values[i], values[i], values[i], values[i]);
}
}
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java
index f2ab8cf..2020558 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java
@@ -53,14 +53,13 @@ public class IntegerStatistics extends Statistics<Integer> {
}
@Override
- public void updateStats(int[] values) {
- for (int value : values) {
+ public void updateStats(int[] values, int batchSize) {
+ for (int i = 0; i < batchSize; i++) {
if (isEmpty) {
- initializeStats(value, value, value, value, value);
+ initializeStats(values[i], values[i], values[i], values[i], values[i]);
isEmpty = false;
} else {
- updateStats(value, value, value, value, value);
- isEmpty = false;
+ updateStats(values[i], values[i], values[i], values[i], values[i]);
}
}
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatistics.java
index 0e4ace5..4b34989 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatistics.java
@@ -77,13 +77,13 @@ public class LongStatistics extends Statistics<Long> {
}
@Override
- public void updateStats(long[] values) {
- for (long value : values) {
+ public void updateStats(long[] values, int batchSize) {
+ for (int i = 0; i < batchSize; i++) {
if (isEmpty) {
- initializeStats(value, value, value, value, value);
+ initializeStats(values[i], values[i], values[i], values[i], values[i]);
isEmpty = false;
} else {
- updateStats(value, value, value, value, value);
+ updateStats(values[i], values[i], values[i], values[i], values[i]);
}
}
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/NoStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/NoStatistics.java
index 9f66ba4..132f603 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/NoStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/NoStatistics.java
@@ -65,22 +65,22 @@ public class NoStatistics extends Statistics<Long> {
}
@Override
- public void updateStats(boolean[] values) {
+ public void updateStats(boolean[] values, int batchSize) {
// NoStatistics does not make any statistics
}
@Override
- public void updateStats(int[] values) {
+ public void updateStats(int[] values, int batchSize) {
// NoStatistics does not make any statistics
}
@Override
- public void updateStats(long[] values) {
+ public void updateStats(long[] values, int batchSize) {
// NoStatistics does not make any statistics
}
@Override
- public void updateStats(Binary[] values) {
+ public void updateStats(Binary[] values, int batchSize) {
// NoStatistics does not make any statistics
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java
index 2e20555..227e294 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java
@@ -194,39 +194,31 @@ public abstract class Statistics<T> {
throw new UnsupportedOperationException();
}
- public void updateStats(BigDecimal value) {
- throw new UnsupportedOperationException();
- }
-
public void updateStats(Binary value) {
throw new UnsupportedOperationException();
}
- public void updateStats(boolean[] values) {
- throw new UnsupportedOperationException();
- }
-
- public void updateStats(int[] values) {
+ public void updateStats(boolean[] values, int batchSize) {
throw new UnsupportedOperationException();
}
- public void updateStats(long[] values) {
+ public void updateStats(int[] values, int batchSize) {
throw new UnsupportedOperationException();
}
- public void updateStats(float[] values) {
+ public void updateStats(long[] values, int batchSize) {
throw new UnsupportedOperationException();
}
- public void updateStats(double[] values) {
+ public void updateStats(float[] values, int batchSize) {
throw new UnsupportedOperationException();
}
- public void updateStats(BigDecimal[] values) {
+ public void updateStats(double[] values, int batchSize) {
throw new UnsupportedOperationException();
}
- public void updateStats(Binary[] values) {
+ public void updateStats(Binary[] values, int batchSize) {
throw new UnsupportedOperationException();
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/ChunkWriterImpl.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/ChunkWriterImpl.java
index d5bad0a..31ffb38 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/ChunkWriterImpl.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/ChunkWriterImpl.java
@@ -167,18 +167,6 @@ public class ChunkWriterImpl implements IChunkWriter {
}
@Override
- public void write(long time, BigDecimal value) {
- this.maxTimestamp = time;
- ++valueCountInOnePage;
- pageWriter.write(time, value);
- pageStatistics.updateStats(value);
- if (minTimestamp == Long.MIN_VALUE) {
- minTimestamp = time;
- }
- checkPageSizeAndMayOpenANewPage();
- }
-
- @Override
public void write(long time, Binary value) {
this.maxTimestamp = time;
++valueCountInOnePage;
@@ -198,7 +186,7 @@ public class ChunkWriterImpl implements IChunkWriter {
minTimestamp = timestamps[0];
}
pageWriter.write(timestamps, values, batchSize);
- pageStatistics.updateStats(values);
+ pageStatistics.updateStats(values, batchSize);
checkPageSizeAndMayOpenANewPage();
}
@@ -210,7 +198,7 @@ public class ChunkWriterImpl implements IChunkWriter {
minTimestamp = timestamps[0];
}
pageWriter.write(timestamps, values, batchSize);
- pageStatistics.updateStats(values);
+ pageStatistics.updateStats(values, batchSize);
checkPageSizeAndMayOpenANewPage();
}
@@ -222,7 +210,7 @@ public class ChunkWriterImpl implements IChunkWriter {
minTimestamp = timestamps[0];
}
pageWriter.write(timestamps, values, batchSize);
- pageStatistics.updateStats(values);
+ pageStatistics.updateStats(values, batchSize);
checkPageSizeAndMayOpenANewPage();
}
@@ -234,7 +222,7 @@ public class ChunkWriterImpl implements IChunkWriter {
minTimestamp = timestamps[0];
}
pageWriter.write(timestamps, values, batchSize);
- pageStatistics.updateStats(values);
+ pageStatistics.updateStats(values, batchSize);
checkPageSizeAndMayOpenANewPage();
}
@@ -246,19 +234,7 @@ public class ChunkWriterImpl implements IChunkWriter {
minTimestamp = timestamps[0];
}
pageWriter.write(timestamps, values, batchSize);
- pageStatistics.updateStats(values);
- checkPageSizeAndMayOpenANewPage();
- }
-
- @Override
- public void write(long[] timestamps, BigDecimal[] values, int batchSize) {
- this.maxTimestamp = timestamps[batchSize - 1];
- valueCountInOnePage += batchSize;
- if (minTimestamp == Long.MIN_VALUE) {
- minTimestamp = timestamps[0];
- }
- pageWriter.write(timestamps, values, batchSize);
- pageStatistics.updateStats(values);
+ pageStatistics.updateStats(values, batchSize);
checkPageSizeAndMayOpenANewPage();
}
@@ -270,7 +246,7 @@ public class ChunkWriterImpl implements IChunkWriter {
minTimestamp = timestamps[0];
}
pageWriter.write(timestamps, values, batchSize);
- pageStatistics.updateStats(values);
+ pageStatistics.updateStats(values, batchSize);
checkPageSizeAndMayOpenANewPage();
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/IChunkWriter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/IChunkWriter.java
index 3f7f762..c375b45 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/IChunkWriter.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/IChunkWriter.java
@@ -57,11 +57,6 @@ public interface IChunkWriter {
/**
* write a time value pair.
*/
- void write(long time, BigDecimal value);
-
- /**
- * write a time value pair.
- */
void write(long time, Binary value);
/**
@@ -92,11 +87,6 @@ public interface IChunkWriter {
/**
* write time series
*/
- void write(long[] timestamps, BigDecimal[] values, int batchSize);
-
- /**
- * write time series
- */
void write(long[] timestamps, Binary[] values, int batchSize);
/**