簡體   English   中英

使用 kafka 連接器在 kafka 主題之間復制數據

[英]Copy data between kafka topics using kafka connectors

我是 Kafka 的新手,現在我需要將數據從一個 kafka 主題復制到另一個主題。 我想知道這樣做的可能方法是什么? 我能想到的方法如下:

  1. Kakfa 消費者 + Kafka 生產者
  2. 卡夫卡流
  3. Kafka sink 連接器 + 生產者
  4. Kafka消費者+源連接器

我的問題是:是否可以在兩者之間使用兩個 kafka 連接器? 例如接收器連接器+源連接器。 是這樣嗎,你能給我一些好的例子嗎? 或者一些提示如何做到這一點?

提前致謝!

您列出的所有方法都是可能的。 哪一個是最好的實際上取決於您想要對過程進行控制,或者它是一次性操作還是您想要繼續運行的東西。

Kafka Streams 提供了一種通過 DSL 將一個主題流入另一個主題的簡單方法

您可以執行類似的操作(演示代碼顯然不適用於生產:):

Properties props = new Properties();
props.put(StreamsConfig.APPLICATION_ID_CONFIG, "streams-wordcount");
props.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");

final Serde<byte[]> bytesSerdes = Serdes.ByteArray();
final StreamsBuilder builder = new StreamsBuilder();
KStream<byte[], byte[]> input = builder.stream(
        "input-topic",
        Consumed.with(bytesSerdes, bytesSerdes)
);
input.to("output-topic", Produced.with(bytesSerdes, bytesSerdes));

final KafkaStreams streams = new KafkaStreams(builder.build(), props);
try {
    streams.start();
    Thread.sleep(60000L);
} catch (Exception e) {
    e.printStackTrace();
} finally {
    streams.close();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM