Apache IoTDB注册触发器时如何插入时序数据?
Apache IoTDB触发器数据插入方式说明
在IoTDB触发器的逻辑中,不需要额外建立外部Session连接就能直接向时间序列插入数据,反而推荐用服务器内置的接口来操作,避免不必要的网络开销。
- 触发器运行在IoTDB服务器进程内部,可直接通过
IoTDBConnection(本地模式)或者触发器上下文提供的内置API执行插入语句,无需再创建远程Session实例。 - 举个简单的代码实现示例:
@Override public void trigger(TriggerEvent event) throws TriggerException { try (IoTDBConnection localConn = new IoTDBConnection("127.0.0.1", 6667, "root", "root")) { // 直接执行插入SQL localConn.executeNonQueryStatement("insert into root.device.demo(timestamp, value) values(now(), 36.2)"); } catch (SQLException e) { throw new TriggerException("插入数据失败", e); } }
当然,如果你硬要通过外部Session连接插入数据也能生效,但这种方式会多一层网络请求,还可能触发连接数限制,完全没必要。
内容的提问来源于stack exchange,提问作者zai
相关产品推荐
相关产品推荐

