【问题标题】:How to make the Kafka Connect BigQuery Sink Connector create one table per event type and not per topic?如何使 Kafka Connect BigQuery Sink 连接器为每种事件类型而不是每个主题创建一个表?
【发布时间】:2021-07-27 11:09:46
【问题描述】:

我在我们的 Kafka (Avro) 活动中使用 confluentinc/kafka-connect-bigquery。在某些主题上,我们有不止一种事件类型,例如,UserRegisteredUserDeleted 在主题 domain.user 上。

我们的 Schema Registry 中的主题如下所示。

curl --silent -X GET http://avro-schema-registry.core-kafka.svc.cluster.local:8081/subjects | jq .
[...]
  "domain.user-com.acme.message_schema.domain.user.UserDeleted",
  "domain.user-com.acme.message_schema.domain.user.UserRegistered",
  "domain.user-com.acme.message_schema.type.domain.key.DefaultKey",
[...]

我的properties/connector.properties(我正在使用quickstart 文件夹。)如下所示:

[...]
topics.regex=domain.*
sanitizeTopics=true
autoCreateTables=true
[...]

在 BigQuery 中创建了一个名为 domain_user 的表。但是,我想要两个表,例如 domain_user_userregistereddomain_user_userdeleted 或类似的,因为这两种事件类型的架构完全不同。我怎样才能做到这一点?

【问题讨论】:

    标签: apache-kafka google-bigquery avro apache-kafka-connect confluent-schema-registry


    【解决方案1】:

    我认为您可以使用SchemaNameToTopic Single Message Transform 来执行此操作。通过将主题名称设置为架构名称,这将传播到为创建的 BigQuery 表提供的名称。

    【讨论】:

      猜你喜欢
      • 2017-09-20
      • 2019-06-23
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      • 1970-01-01
      • 2019-07-15
      • 2020-05-28
      • 1970-01-01
      相关资源
      最近更新 更多