kafka怎么用代码读取数据

Kafka可以通过Java语言中的Kafka客户端库来读取数据。以下是一个简单的Java代码示例,通过Kafka Consumer API从Kafka集群中读取数据:

java 复制代码
```java
import java.util.Properties;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.KafkaConsumer;

public class KafkaConsumerExample {
   public static void main(String[] args) throws Exception {

      String topicName = "my-topic";
      Properties props = new Properties();
      props.put("bootstrap.servers", "localhost:9092");
      props.put("group.id", "test-group");
      props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
      props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");

      KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
      consumer.subscribe(Arrays.asList(topicName));

      while (true) {
         ConsumerRecords<String, String> records = consumer.poll(100);
         for (ConsumerRecord<String, String> record : records) {
            System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
         }
      }
   }
}
```

在这个示例中,我们使用KafkaConsumer类,它是Kafka Java客户端库的一部分,从指定的主题(topic)中消费数据。我们设置了Kafka集群的地址(bootstrap.servers),将自己的消费组ID(group.id)分配给消费者,以及对键(key)和值(value)进行反序列化。在这个示例中,我们使用StringDeserializer,但您可以使用任何其他适当的序列化程序。

在while循环中,我们使用poll()方法从Kafka集群中获取消息,等待100毫秒。然后我们遍历这些消息并打印它们的偏移量、键和值。

相关推荐
阳光不锈@20 分钟前
三大主流消息队列架构设计思想剖析:从 RabbitMQ 到 RocketMQ 的改造实践
kafka·rabbitmq·rocketmq·rabbit改造rocket·去除rabbitmq·rabbitmq改造
泡海椒3 小时前
深度解析JQuick-SQL SQL解析与AST生成机制|分布式SQL原理
数据库·分布式·sql
ZealSinger4 小时前
Boot4升后Kafka retry属性怎么改
kafka·retry·boot4·升级踩坑
2603_954708315 小时前
微能网协调控制箱的架构优势对能源管理的影响?
大数据·人工智能·分布式·安全·架构
starzy19905 小时前
KafkaProducer 源码深度剖析:处理粘包问题的完美方案
大数据·kafka
方方洛6 小时前
ray教程-14-RayTune与超参搜索
人工智能·分布式·机器学习
深圳市恒星物联科技有限公司7 小时前
排水管网监测分层分布式架构:感知-传输-平台-应用详解
分布式·架构
chunyublog8 小时前
FinalShell 远程连接 Hadoop 三节点集群教程
大数据·hadoop·分布式
泡海椒8 小时前
深度解析JQuick-SQL 逻辑计划到物理计划生成机制|分布式SQL原理
数据库·分布式·sql
MrWind灬9 小时前
我给自己写了个 Kafka 桌面客户端:MrWindKafkaClient
kafka·pyqt