使用Session原生IotDB

dev.data.processing.dataTreating
面包骑士 2024-09-30 09:28:14 +08:00
parent 53311e2f98
commit 7e77b4c0c0
10 changed files with 198 additions and 96 deletions

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>cloud-common</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>cloud-common-iotdb</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-session</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,18 @@
//package com.muyu.common.iotdb;
//
//import org.springframework.boot.SpringApplication;
//import org.springframework.boot.autoconfigure.SpringBootApplication;
//
///**
// * @Author: 胡杨
// * @Name: CloudSystemSaas
// * @Description: SaaS系统驱动器
// * @CreatedDate: 2024/9/22 上午10:05
// * @FilePath: com.muyu.system.saas
// */
//@SpringBootApplication
//public class CloudIotDBApplication {
// public static void main(String[] args) {
// SpringApplication.run(CloudIotDBApplication.class, args);
// }
//}

View File

@ -0,0 +1,32 @@
//package com.muyu.common.iotdb;
//
//
//import com.muyu.common.iotdb.config.IotDBConfig;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//
//import javax.annotation.Resource;
//
///**
// * 测试控制层
// * @Author: 胡杨
// * @Name: Test
// * @Description:
// * @CreatedDate: 2024/9/27 上午10:54
// * @FilePath: com.muyu.data.processing.controller
// */
//@Slf4j
//@RestController
//@RequestMapping("/Test")
//public class TestController {
// @Resource
// private IotDBConfig iotDBConfig;
//
// @GetMapping("/insertData")
// public void insertData(String deviceId, long time, double value) throws Exception {
// String sql = String.format("insert into root.one.%s(timestamp, temperature) values (%d, %f)", deviceId, time, value);
// iotDBConfig.iotSession().executeNonQueryStatement(sql);
// }
//}

View File

@ -0,0 +1,48 @@
package com.muyu.common.iotdb.config;
import org.apache.iotdb.rpc.IoTDBConnectionException;
import org.apache.iotdb.session.Session;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
*
*
* @Author:
* @Name: IotDBConfig
* @Description:
* @CreatedDate: 2024/9/29 9:30
* @FilePath: com.muyu.data.processing.config
*/
@Configuration
public class IotDBConfig {
@Value("${spring.iotdb.ip}")
private String ip;
@Value("${spring.iotdb.port}")
private int port;
@Value("${spring.iotdb.user}")
private String user;
@Value("${spring.iotdb.password}")
private String password;
@Value("${spring.iotdb.fetchSize}")
private int fetchSize;
@Bean
public Session iotSession(){
Session session = new Session(ip, port, user, password, fetchSize);
try {
session.open();
} catch (IoTDBConnectionException e) {
throw new RuntimeException(e);
}
return session;
}
}

View File

@ -23,6 +23,7 @@
<module>cloud-common-saas</module> <module>cloud-common-saas</module>
<module>cloud-common-caffeine</module> <module>cloud-common-caffeine</module>
<module>cloud-common-kafka</module> <module>cloud-common-kafka</module>
<module>cloud-common-iotdb</module>
</modules> </modules>
<artifactId>cloud-common</artifactId> <artifactId>cloud-common</artifactId>

View File

@ -37,6 +37,12 @@
<artifactId>cloud-common-rabbit</artifactId> <artifactId>cloud-common-rabbit</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-iotdb</artifactId>
<version>3.6.3</version>
</dependency>
<!-- SpringCloud Alibaba Nacos --> <!-- SpringCloud Alibaba Nacos -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
@ -61,6 +67,11 @@
<artifactId>spring-boot-starter-actuator</artifactId> <artifactId>spring-boot-starter-actuator</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<!-- Mysql Connector --> <!-- Mysql Connector -->
<dependency> <dependency>
<groupId>com.mysql</groupId> <groupId>com.mysql</groupId>
@ -74,47 +85,52 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.iotdb</groupId> <groupId>com.muyu</groupId>
<artifactId>iotdb-jdbc</artifactId> <artifactId>cloud-common-datasource</artifactId>
<version>0.12.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.20</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.5</version>
</dependency> </dependency>
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>org.apache.iotdb</groupId>--> <!-- <groupId>org.apache.iotdb</groupId>-->
<!-- <artifactId>iotdb-session</artifactId>--> <!-- <artifactId>iotdb-jdbc</artifactId>-->
<!-- <version>1.3.2</version>--> <!-- <version>0.12.1</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>com.alibaba</groupId>-->
<!-- <artifactId>druid-spring-boot-starter</artifactId>-->
<!-- <version>1.2.20</version>-->
<!-- </dependency>--> <!-- </dependency>-->
<!-- Druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-3-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<!-- Dynamic DataSource --> <!-- <dependency>-->
<dependency> <!-- <groupId>org.mybatis</groupId>-->
<groupId>com.baomidou</groupId> <!-- <artifactId>mybatis-spring</artifactId>-->
<artifactId>dynamic-datasource-spring-boot3-starter</artifactId> <!-- <version>3.0.3</version>-->
<version>${dynamic-ds.version}</version> <!-- </dependency>-->
</dependency> <!-- <dependency>-->
<!-- <groupId>com.baomidou</groupId>-->
<!-- <artifactId>mybatis-plus-boot-starter</artifactId>-->
<!-- <version>3.5.5</version>-->
<!-- </dependency>-->
<!--&lt;!&ndash; <dependency>&ndash;&gt;-->
<!--&lt;!&ndash; <groupId>org.apache.iotdb</groupId>&ndash;&gt;-->
<!--&lt;!&ndash; <artifactId>iotdb-session</artifactId>&ndash;&gt;-->
<!--&lt;!&ndash; <version>1.3.2</version>&ndash;&gt;-->
<!--&lt;!&ndash; </dependency>&ndash;&gt;-->
<!-- &lt;!&ndash; Druid &ndash;&gt;-->
<!-- <dependency>-->
<!-- <groupId>com.alibaba</groupId>-->
<!-- <artifactId>druid-spring-boot-3-starter</artifactId>-->
<!-- <version>${druid.version}</version>-->
<!-- </dependency>-->
<!-- &lt;!&ndash; Dynamic DataSource &ndash;&gt;-->
<!-- <dependency>-->
<!-- <groupId>com.baomidou</groupId>-->
<!-- <artifactId>dynamic-datasource-spring-boot3-starter</artifactId>-->
<!-- <version>${dynamic-ds.version}</version>-->
<!-- </dependency>-->
</dependencies> </dependencies>

View File

@ -1,48 +0,0 @@
//package com.muyu.data.processing.config;
//
//import org.apache.iotdb.rpc.IoTDBConnectionException;
//import org.apache.iotdb.session.Session;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
///**
// * 时序数据库配置
// *
// * @Author: 胡杨
// * @Name: IotDBConfig
// * @Description: 时序数据库配置
// * @CreatedDate: 2024/9/29 下午9:30
// * @FilePath: com.muyu.data.processing.config
// */
//
//@Configuration
//public class IotDBConfig {
//
// @Value("${spring.iotdb.ip}")
// private String ip;
//
// @Value("${spring.iotdb.port}")
// private int port;
//
// @Value("${spring.iotdb.user}")
// private String user;
//
// @Value("${spring.iotdb.password}")
// private String password;
//
// @Value("${spring.iotdb.fetchSize}")
// private int fetchSize;
//
// @Bean
// public Session iotSession(){
// Session session = new Session(ip, port, user, password, fetchSize);
// try {
// session.open();
// } catch (IoTDBConnectionException e) {
// throw new RuntimeException(e);
// }
// return session;
// }
//
//}

View File

@ -2,6 +2,7 @@ package com.muyu.data.processing.controller;
import com.muyu.common.core.utils.uuid.UUID; import com.muyu.common.core.utils.uuid.UUID;
import com.muyu.common.iotdb.config.IotDBConfig;
import com.muyu.common.kafka.constants.KafkaConstants; import com.muyu.common.kafka.constants.KafkaConstants;
import com.muyu.common.rabbit.constants.RabbitConstants; import com.muyu.common.rabbit.constants.RabbitConstants;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -27,8 +28,8 @@ public class TestController {
private KafkaProducer<String,String> kafkaProducer; private KafkaProducer<String,String> kafkaProducer;
@Resource @Resource
private RabbitTemplate rabbitTemplate; private RabbitTemplate rabbitTemplate;
// @Resource @Resource
// private IotDBConfig iotDBConfig; private IotDBConfig iotDBConfig;
@GetMapping("/testKafka") @GetMapping("/testKafka")
public void sendMsg(@RequestParam("msg") String msg) { public void sendMsg(@RequestParam("msg") String msg) {
@ -81,9 +82,9 @@ public class TestController {
}); });
} }
// @GetMapping("/insertData") @GetMapping("/insertData")
// public void insertData(String deviceId, long time, double value) throws Exception { public void insertData(@RequestParam("deviceId") String deviceId, @RequestParam("time") long time, @RequestParam("value") double value) throws Exception {
// String sql = String.format("insert into root.one.%s(timestamp, temperature) values (%d, %f)", deviceId, time, value); String sql = String.format("insert into root.one.%s(timestamp, temperature) values (%d, %f)", deviceId, time, value);
// iotDBConfig.iotSession().executeNonQueryStatement(sql); iotDBConfig.iotSession().executeNonQueryStatement(sql);
// } }
} }

View File

@ -11,13 +11,13 @@ nacos:
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring # Spring
spring: spring:
# iotdb: iotdb:
# ip: 47.116.173.119 ip: 47.116.173.119
# port: 6667 port: 6667
# user: root user: root
# password: root password: root
# fetchSize: 10000 fetchSize: 10000
# maxActive: 10 maxActive: 10
amqp: amqp:
deserialization: deserialization:
trust: trust: