tree: f224701e827b4892f815e6cdc8c5891946ee60a2 [path history] [tgz]
  1. src/
  2. format-changelist.md
  3. pom.xml
  4. README-zh.md
  5. README.md
java/tsfile/README.md

English | 中文

TsFile Java Document

Use TsFile

Add TsFile as a dependency in Maven

The current developing version is 2.1.0-SNAPSHOT

<dependencies>
    <dependency>
      <groupId>org.apache.tsfile</groupId>
      <artifactId>tsfile</artifactId>
      <version>2.1.0-SNAPSHOT</version>
    </dependency>
<dependencies>

TsFile Java API

Write Data

Data written is through TsFileWriter.

  1. Construct TsFileWriter

    File f = new File("test.tsfile");
    TsFileWriter tsFileWriter = new TsFileWriter(f);
    
  2. 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);
    
  3. 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);
    
  4. Close TsFileWriter, only closed TsFile could be queried.

    tsFileWriter.close();
    

Write TsFile Example

Write Data By TSRecord

Write Data By Tablet

Read TsFile

Data query is through TsFileReader.

  1. Construct TsFileReader

    TsFileSequenceReader reader = new TsFileSequenceReader(path);
    TsFileReader tsFileReader = new TsFileReader(reader);
    
  2. 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);
    
  3. Query data

    QueryDataSet queryDataSet = readTsFile.query(queryExpression);
    while (queryDataSet.hasNext()) {
         queryDataSet.next();
    }
    
  4. Close TsFileReader

    tsFileReader.close();
    

Read TsFile Example

Query Data

Scan whole TsFile

Building With Java

Prerequisites

To build TsFile wirh Java, you need to have:

  1. Java >= 1.8 (1.8, 11 to 17 are verified. Please make sure the environment path has been set accordingly).
  2. Maven >= 3.6.3 (If you want to compile TsFile from source code).

Build TsFile with Maven

mvn clean package -P with-java -DskipTests

Install to local machine

mvn install -P with-java -DskipTests