Apache IoTDB 提供多种原生写入接口,包括单设备单行写入 (insertRecord)、多设备多行同时写入 (insertRecords)、单设备多行同时写入(insertRecordsOfOneDevice 与 insertTablet),用户可根据自己的写入场景和写入负载灵活选择不同的写入接口
写入的基本接口
insertRecord 接口
void insertRecord(String deviceId, long time, List<String> measurements, List<TSDataType> types, List<Object> values)
- 使用场景:插入单设备的单行数据,即某时间点下某设备的多个测点的数据
- 参数介绍
- deviceId:设备 id
- time:时间戳
- measurements:测点列表
- types:各测点对应的数据类型
- values:各测点在该时间点下对应的数据
insertRecords 接口
void insertRecords(List<String> deviceIds, List<Long> times, List<List<String>> measurementsList, List<List<TSDataType>> typesList, List<List<Object>> valuesList)
- 使用场景:批量插入多设备的多行数据,类似于 jdbc executeBatch,通过批量打包一些插入请求来减少网络开销
- 参数介绍
- deviceIds:设备 id 列表
- times:时间戳列表
- measurementsList:各设备的测点列表
- typesList:各设备下各测点对应的数据类型
- valuesList:各设备下各测点在该时间点下对应的数据
insertRecordsOfOneDevice 接口
void insertRecordsOfOneDevice(String deviceId, List<Long> times, List<List<String>> measurementsList, List<List<TSDataType>> typesList, List<List<Object>> valuesList)