更新时间:2024-12-06 GMT+08:00
IoTDB Session样例程序
功能简介
通过Session连接方式,执行IoTDB SQL语句。
代码样例
下面代码片段仅为演示,具体代码参见“com.huawei.bigdata.SessionExample”。
其中修改HOST_1、HOST_2、HOST_3为IoTDBServer所在节点的业务IP,在Session对象的参数里,设置用户名和密码。
- 待连接的IoTDBServer所在节点的业务IP地址,可通过登录FusionInsight Manager界面,选择“集群 > 服务 > IoTDB > 实例”查看。
- RPC端口可通过登录FusionInsight Manager,选择“集群 > 服务 > IoTDB > 配置 > 全部配置”,搜索参数“IOTDB_SERVER_RPC_PORT”获得。
- 安全模式下,登录IoTDBServer所在节点的用户名和密码由FusionInsight Manager统一控制,参考准备集群认证用户信息,确保该用户具有操作IoTDB服务的角色权限。
- 需在本地环境变量中设置环境变量认证用户名和认证用户密码,建议密文存放,使用时解密,确保安全。其中:
- 认证用户名为访问IoTDB的用户名。
- 认证用户密码为访问IoTDB的用户密码。
/**
* 安全模式下,“SSL_ENABLE”默认为“true”,需要导入truststore.jks文件。
* 安全模式下,也可登录FusionInsight Manager,选择“集群 > 服务 > IoTDB > 配置”,在搜索框中搜索“SSL”,修改“SSL_ENABLE”参数值为“false”;保存配置后需重启IoTDB服务使配置生效。并修改客户端“客户端安装目录/IoTDB/iotdb/conf”目录下的“iotdb-client.env”文件中的配置:iotdb_ssl_enable="false"。
*/
private static final String IOTDB_SSL_ENABLE = "true"; //该值为“SSL_ENABLE”参数值。
public static void main(String[] args)
throws IoTDBConnectionException, StatementExecutionException {
// set iotdb_ssl_enable
System.setProperty("iotdb_ssl_enable", IOTDB_SSL_ENABLE);
if ("true".equals(IOTDB_SSL_ENABLE)) {
// set truststore.jks path
System.setProperty("iotdb_ssl_truststore", "truststore文件路径");
}
session = new Session(nodeUrls, 端口, 认证用户名,认证用户密码);
session.open(false);
// set session fetchSize
session.setFetchSize(10000);
try {
session.setStorageGroup("root.sg1");
} catch (StatementExecutionException e) {
if (e.getStatusCode() != TSStatusCode.PATH_ALREADY_EXIST_ERROR.getStatusCode()) {
throw e;
}
}
createTimeseries();
createMultiTimeseries();
insertRecord();
insertTablet();
insertTablets();
insertRecords();
nonQuery();
query();
queryWithTimeout();
rawDataQuery();
queryByIterator();
deleteData();
deleteTimeseries();
setTimeout();
sessionEnableRedirect = new Session(nodeUrls, 认证用户名, 认证用户密码);
sessionEnableRedirect.setEnableQueryRedirection(true);
sessionEnableRedirect.open(false);
// set session fetchSize
sessionEnableRedirect.setFetchSize(10000);
insertRecord4Redirect();
query4Redirect();
sessionEnableRedirect.close();
session.close();
}
父主题: 开发IoTDB应用