[英]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.