在根目录下运行:
mvn clean install -pl session -am -Dmaven.test.skip=true
<dependencies> <dependency> <groupId>org.apache.iotdb</groupId> <artifactId>iotdb-session</artifactId> <version>0.12.0</version> </dependency> </dependencies>
下面将给出Session对应的接口的简要介绍和对应参数:
Session(String host, int rpcPort) Session(String host, String rpcPort, String username, String password) Session(String host, int rpcPort, String username, String password)
Session.open()
Session.close()
void setStorageGroup(String storageGroupId)
void deleteStorageGroup(String storageGroup) void deleteStorageGroups(List<String> storageGroups)
void createTimeseries(String path, TSDataType dataType, TSEncoding encoding, CompressionType compressor, Map<String, String> props, Map<String, String> tags, Map<String, String> attributes, String measurementAlias) void createMultiTimeseries(List<String> paths, List<TSDataType> dataTypes, List<TSEncoding> encodings, List<CompressionType> compressors, List<Map<String, String>> propsList, List<Map<String, String>> tagsList, List<Map<String, String>> attributesList, List<String> measurementAliasList)
void deleteTimeseries(String path) void deleteTimeseries(List<String> paths)
void deleteData(String path, long time) void deleteData(List<String> paths, long time)
void insertRecord(String deviceId, long time, List<String> measurements, List<String> values)
void insertTablet(Tablet tablet)
void insertTablets(Map<String, Tablet> tablet)
void insertRecords(List<String> deviceIds, List<Long> times, List<List<String>> measurementsList, List<List<String>> valuesList)
void insertRecord(String deviceId, long time, List<String> measurements, List<TSDataType> types, List<Object> values)
void insertRecords(List<String> deviceIds, List<Long> times, List<List<String>> measurementsList, List<List<TSDataType>> typesList, List<List<Object>> valuesList)
void insertRecordsOfOneDevice(String deviceId, List<Long> times, List<List<String>> measurementsList, List<List<TSDataType>> typesList, List<List<Object>> valuesList)
SessionDataSet executeRawDataQuery(List<String> paths, long startTime, long endTime)
SessionDataSet executeQueryStatement(String sql)
void executeNonQueryStatement(String sql)
void testInsertRecords(List<String> deviceIds, List<Long> times, List<List<String>> measurementsList, List<List<String>> valuesList)
或
void testInsertRecords(List<String> deviceIds, List<Long> times, List<List<String>> measurementsList, List<List<TSDataType>> typesList, List<List<Object>> valuesList)
void testInsertRecord(String deviceId, long time, List<String> measurements, List<String> values)
或
void testInsertRecord(String deviceId, long time, List<String> measurements, List<TSDataType> types, List<Object> values)
void testInsertTablet(Tablet tablet)
我们提供了一个针对原生接口的连接池(SessionPool
),使用该接口时,你只需要指定连接池的大小,就可以在使用时从池中获取连接。 如果超过60s都没得到一个连接的话,那么会打印一条警告日志,但是程序仍将继续等待。
当一个连接被用完后,他会自动返回池中等待下次被使用; 当一个连接损坏后,他会从池中被删除,并重建一个连接重新执行用户的操作。
对于查询操作:
SessionDataSet
的封装类SessionDataSetWrapper
;closeResultSet
;closeResultSet
.SessionDataSetWrapper
的 getColumnNames()
方法得到结果集列名使用示例可以参见 session/src/test/java/org/apache/iotdb/session/pool/SessionPoolTest.java
或 example/session/src/main/java/org/apache/iotdb/SessionPoolExample.java
浏览上述接口的详细信息,请参阅代码 session/src/main/java/org/apache/iotdb/session/Session.java
使用上述接口的示例代码在 example/session/src/main/java/org/apache/iotdb/SessionExample.java