Skip to content

导入外部TSFILE 问题 (bug when loading a manually generated TsFile into IoTDB instance) #1551

@xuanqisong

Description

@xuanqisong

通过example建立的tsfile文件
在导入的时候提示 411
如下

IoTDB> load "D:\iotDb\testTsFile\1595501732489-1-0.tsfile"
Msg: 411: Cannot load file D:\iotDb\testTsFile\1595501732489-1-0.tsfile because null

但是查询此组,还可以能查询到数据

生成tsfile的Example里面不知道是不是有bug
19:00:38.302 [main] ERROR com.zichan360.local.TestTsFile - meet error in TsFileWrite with tablet
org.apache.iotdb.tsfile.exception.write.NoMeasurementException: input measurement is invalid: sensor_1
at org.apache.iotdb.tsfile.write.TsFileWriter.checkIsTimeSeriesExist(TsFileWriter.java:232) ~[tsfile-0.10.0.jar:0.10.0]
at org.apache.iotdb.tsfile.write.TsFileWriter.write(TsFileWriter.java:263) ~[tsfile-0.10.0.jar:0.10.0]
at com.zichan360.local.TestTsFile.main(TestTsFile.java:72) [classes/:?]

原版代码如下
List measurementSchemas = new ArrayList<>();
// add measurements into file schema (all with INT64 data type)
for (int i = 0; i < sensorNum; i++) {
measurementSchemas.add(
new MeasurementSchema("sensor_" + (i + 1), TSDataType.INT64, TSEncoding.TS_2DIFF));
}

  // add measurements into TSFileWriter
  try (TsFileWriter tsFileWriter = new TsFileWriter(f, schema)) {

    // construct the tablet
    Tablet tablet = new Tablet("device_1", measurementSchemas);

我修改成
List measurementSchemas = new ArrayList<>();
// add measurements into file schema (all with INT64 data type)
for (int i = 0; i < sensorNum; i++) {
MeasurementSchema measurementSchema = new MeasurementSchema("sensor_" + (i + 1), TSDataType.INT64, TSEncoding.TS_2DIFF);
measurementSchemas.add(measurementSchema);
schema.registerTimeseries(new Path("root.device_1", measurementSchema.getMeasurementId()), measurementSchema);
}

        // add measurements into TSFileWriter
        try (TsFileWriter tsFileWriter = new TsFileWriter(f, schema)) {

            // construct the tablet
            Tablet tablet = new Tablet("root.device_1", measurementSchemas);

可以执行了
而且example生成的tsfile不能直接导入到IOTDB里面,需要将
device_1 替换成 root.device_1才可以

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions