___________ ___________.__.__
\__ ___/____\_ _____/|__| | ____
| | / ___/| __) | | | _/ __ \
| | \___ \ | \ | | |_\ ___/
|____|/____ >\___ / |__|____/\___ > version 2.1.0
\/ \/ \/
The current version is 2.1.0
<dependencies>
<dependency>
<groupId>org.apache.tsfile</groupId>
<artifactId>tsfile</artifactId>
<version>2.1.0</version>
</dependency>
<dependencies>Data written is through TsFileWriter.
-
Construct TsFileWriter
File f = new File("test.tsfile"); TsFileWriter tsFileWriter = new TsFileWriter(f);
-
Register timeseries
List<IMeasurementSchema> schema1 = new ArrayList<>(); schema1.add(new MeasurementSchema("voltage", TSDataType.FLOAT)); schema1.add(new MeasurementSchema("electricity", TSDataType.FLOAT)); tsFileWriter.registerTimeseries(new Path("solarpanel1"), schema1); List<IMeasurementSchema> schema2 = new ArrayList<>(); schema2.add(new MeasurementSchema("voltage", TSDataType.FLOAT)); schema2.add(new MeasurementSchema("electricity", TSDataType.FLOAT)); schema2.add(new MeasurementSchema("windspeed", TSDataType.FLOAT)); tsFileWriter.registerTimeseries(new Path("turbine1"), schema2);
-
Write data
TSRecord tsRecord = new TSRecord(1, "solarpanel1"); tsRecord.addTuple(DataPoint.getDataPoint(TSDataType.FLOAT, "voltage", 1.1f)); tsRecord.addTuple(DataPoint.getDataPoint(TSDataType.FLOAT, "electricity", 2.2f)); tsFileWriter.write(tsRecord);
-
Close TsFileWriter, only closed TsFile could be queried.
tsFileWriter.close();
Write TsFile Example
Data query is through TsFileReader.
-
Construct TsFileReader
TsFileSequenceReader reader = new TsFileSequenceReader(path); TsFileReader tsFileReader = new TsFileReader(reader);
-
Construct query expression, including predicate and filter
ArrayList<Path> paths = new ArrayList<>(); paths.add(new Path("solarpanel1", "voltage")); paths.add(new Path("solarpanel1", "electricity")); IExpression timeFilter = BinaryExpression.and( new GlobalTimeExpression(TimeFilterApi.gtEq(1L)), new GlobalTimeExpression(TimeFilterApi.ltEq(10L))); QueryExpression queryExpression = QueryExpression.create(paths, timeFilter);
-
Query data
QueryDataSet queryDataSet = readTsFile.query(queryExpression); while (queryDataSet.hasNext()) { queryDataSet.next(); }
-
Close TsFileReader
tsFileReader.close();
Read TsFile Example
To build TsFile wirh Java, you need to have:
- Java >= 1.8 (1.8, 11 to 17 are verified. Please make sure the environment path has been set accordingly).
- Maven >= 3.6.3 (If you want to compile TsFile from source code).
mvn clean package -P with-java -DskipTests
mvn install -P with-java -DskipTests