簡體   English   中英

無法使用 Apache Beam 將消息從源 kafka 主題推送到目標 kafka 主題

[英]Unable to push messages from source kafka topic to destination kafka topic using Apache beam

我正在嘗試使用 apache-beam 運行管道,其中源作為一個 kafka 主題,目標作為另一個 kafka 主題。 我已經編寫了我的代碼並且運行良好(即,我認為代碼中沒有錯誤)。 但我在輸出主題中看不到數據這是代碼:

import apache_beam as beam
import apache_beam.transforms.window as window
from apache_beam.options.pipeline_options import PipelineOptions
from apache_beam.io.external.kafka import ReadFromKafka, WriteToKafka

def run_pipeline():
    with beam.Pipeline(options=PipelineOptions()) as p:
       (p
        | 'Read from Kafka' >> ReadFromKafka(consumer_config={'bootstrap.servers':'localhost:9092',
                                                  'auto.offset.reset': 'latest'}, topics=['demo'])
        | 'Window of 10 seconds' >> beam.WindowInto(window.FixedWindows(10))
        #| 'Group by key' >> beam.GroupByKey()
        | 'Write to Kafka' >> WriteToKafka(producer_config={'bootstrap.servers':'localhost:9092'},
                                                              topic='demo_output'))
        #| 'Write to console' >> beam.Map(print)
        #| 'Write to text' >> beam.io.WriteToText('outputfile.txt')

if __name__ == '__main__':
    run_pipeline()

https://maximilianmichels.com/2020/getting-started-with-beam-python/

這是我正在嘗試關注的實際博客文章。

我使用控制台來生成我的源 kafka 消息。

$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic demo --property "parse.key=true" --property "key.separator=:"

但是,當我嘗試使用它們時,我仍然無法看到我的消息被推送到我的目標主題。

$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic demo_output

GBK 在您的工作詳細信息頁面上有任何輸出嗎? 您的主題可能會發送非常舊的數據(事件時間)。 因此它們都被認為是遲到的數據並被管道丟棄。 類似的問題是Apache Beam GroupByKey Produces No Output

暫無
暫無

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

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