ApacheBeamWriteToKafka(PythonSDK)未写入主题(没有错误的清单)
创始人
2024-09-05 12:01:42
0

如果 Apache Beam WriteToKafka 未将记录写入 Kafka 主题,您可以尝试以下步骤来诊断问题:

  1. 确认 Kafka 服务正在运行,并且您的代码可以连接到 Kafka。

  2. 检查主题是否存在。如果主题不存在,则您需要先创建它。您可以通过在 Kafka 控制台或使用 Kafka python 客户端创建主题,如下所示:

from kafka.admin import KafkaAdminClient, NewTopic

admin_client = KafkaAdminClient(bootstrap_servers="localhost:9092")

topic_list = []
topic_list.append(NewTopic(name="my_topic", num_partitions=1, replication_factor=1))
admin_client.create_topics(new_topics=topic_list, validate_only=False)
  1. 检查您的代码是否正确配置了 Kafka 主题。例如,您需要指定主题的名称和一些生产者属性,如下所示:
from apache_beam.io.kafka import WriteToKafka

# Writing to Kafka topics
with beam.Pipeline() as pipeline:
  (pipeline
    | 'Create' >> beam.Create(["Hello", "World"])
    | 'Write' >> WriteToKafka(
          topic='my_topic',
          producer_config={'bootstrap.servers': 'localhost:9092'})
  )

请注意,在上面的示例中,我们指定了主题名称为“my_topic”,并将生产者属性传递给“producer_config”参数。

  1. 检查您的代码是否生成了正确的 Kafka 记录。您可以在 Kafka 控制台或使用 Kafka python 客户端检查记录是否实际写入主题。
from kafka import KafkaConsumer

# Consuming records from Kafka topics
consumer = KafkaConsumer(
    'my_topic',
    bootstrap_servers=['localhost:9092'],
    auto_offset_reset='earliest',
    enable_auto_commit=True,
    group_id='my-group',
    value_deserializer=lambda x: x.decode('utf-8'))

for message in consumer:
    print(message.value)

如果仍然无法确定问题

相关内容

热门资讯

安装apache-beam==... 出现此错误可能是因为用户的Python版本太低,而apache-beam==2.34.0需要更高的P...
避免在粘贴双引号时向VS 20... 在粘贴双引号时向VS 2022添加反斜杠的问题通常是由于编辑器的自动转义功能引起的。为了避免这个问题...
Android Recycle... 要在Android RecyclerView中实现滑动卡片效果,可以按照以下步骤进行操作:首先,在项...
omi系统和安卓系统哪个好,揭... OMI系统和安卓系统哪个好?这个问题就像是在问“苹果和橘子哪个更甜”,每个人都有自己的答案。今天,我...
原生ios和安卓系统,原生对比... 亲爱的读者们,你是否曾好奇过,为什么你的iPhone和安卓手机在操作体验上有着天壤之别?今天,就让我...
Android - 无法确定任... 这个错误通常发生在Android项目中,表示编译Debug版本的Java代码时出现了依赖关系问题。下...
Android - NDK 预... 在Android NDK的构建过程中,LOCAL_SRC_FILES只能包含一个项目。如果需要在ND...
Akka生成Actor问题 在Akka框架中,可以使用ActorSystem对象生成Actor。但是,当我们在Actor类中尝试...
Agora-RTC-React... 出现这个错误原因是因为在 React 组件中使用,import AgoraRTC from “ago...
Alertmanager在pr... 首先,在Prometheus配置文件中,确保Alertmanager URL已正确配置。例如:ale...