1、主讲人:侯昊男目录生态集成总览IoTDB 与大数据生态系统集成总览具体应用集成介绍IoTDB 与上下游应用集成示例01IoTDB 与大数据生态系统集成总览生态集成总览IoTDB 生态集成全场景覆盖IoT+AI全生命周期IoTDB 生态集成02具体应用集成介绍IoTDB 与上下游应用集成示例Apache PLC4XApache PLC4X 是一个开源代码开发库,可以用一个共享API 通过多种协议与工业可编程逻辑控制器(PLC)进行通信。主要特点l 统一抽象 API,无需关心底层具体协议l 跨语言实现,对 Java、Go、C 语言支持成熟,同时也支持 C#、Python、Rustl 一键式集成,可
2、以便捷的将 PLC 数据推送到大数据平台或者数据库Modbus协议Apache PLC4X支持的操作l 数据发现l 数据浏览l 数据读取l 数据写入l 数据订阅支持的协议l Siemens S7l Beckhoff ADSl Modbus(TCP/Serial)l EtherNet/IPl OPC-UAl KnxNet/IPl Firmatal Canl IEC-60870PLC4X 与 IoTDB 集成示例 l 引入PLC4X API 协议库l 编写数据读取代码,并将数据写入IoTDBApache KafkaApache Kafka 是一个高吞吐分布式消息队列,主要用来处理实时数据流。最初由
3、 LinkedIn 开发,用于日志聚合,后来捐赠给 Apache 基金会,成为大数据领域的核心组件之一。主要特点l 生产者消费者模式l 持久化日志l 高吞吐l 消费位移管理Kafka 与 IoTDB 集成示例 向 Kafka 中发送 IoTDB 中的数据public class KafkaProducer private final Producer producer;public KafkaProducer()Properties props=new Properties();props.put(metadata.broker.list,127.0.0.1:9092);props.put(z
4、k.connect,127.0.0.1:2181);props.put(serializer.class,kafka.serializer.StringEncoder);props.put(key.serializer.class,kafka.serializer.StringEncoder);props.put(request.required.acks,-1);producer=new Producer(new ProducerConfig(props);.kafka.javaapi.producer.Producer配置 Kafka【步骤2】调用producer 的 send 方法发送数
5、据,其中 key 和 value 是从 IoTDB 中读取的数据producer.send(new KeyedMessage(Constant.TOPIC,key,value);【步骤1】实现一个 Producer 类Kafka 与 IoTDB 集成示例Kafka 向IoTDB 发送数据【步骤1】调用producer 的 send 方法发送数据和发送数据类似,实现 KafkaConsumer 对象private KafkaConsumer()Properties props=new Properties();props.put(zookeeper.connect,127.0.0.1:2181)
6、;props.put(group.id,consumeGroup);props.put(zookeeper.session.timeout.ms,400);props.put(zookeeper.sync.time.ms,200);props.put(rebalance.max.retries,5);props.put(rebalance.backoff.ms,1200);props.put(mit.interval.ms,1000);props.put(auto.offset.reset,smallest);props.put(serializer.class,kafka.serialize