【问题标题】:BigQuery to Kafka TopicBigQuery 到 Kafka 主题
【发布时间】:2021-11-15 09:21:41
【问题描述】:

我有一个加载到 BigQuery 的数据,我需要将 BigQuery 连接到 Kafka,作为每天一次将数据发布到 Kafka 主题的源。由于没有 BigQuery 源连接器,那么将 BigQuery 数据发布到 Kafka 主题的最佳方式是什么。

【问题讨论】:

  • 数据是如何进入 BigQuery 的?这里的常见模式是从源流到 Kafka,然后根据需要流入 BigQuery。这可能就是没有 BQ 源连接器的原因。

标签: google-cloud-platform apache-kafka google-bigquery apache-kafka-connect


【解决方案1】:

有多种选择。我将使用在Google Dataflow 上运行的批处理Apache Beam 管道来完成此任务。它有 Java 和 Python SDK。

例如,在 Java 中,您可以使用 BigQueryIO 读取数据,然后使用 KafkaIO 写入数据。

类似这样的:

//read rows from BQ
PCollection<TableRow> weatherData = pipeline.apply(
    BigQueryIO.readTableRows().from("clouddataflow-readonly:samples.weather_stations"));

// some data processing steps


// write pairs to Kafka topic
PCollection<KV<Long, String>> kvColl = ...;
kvColl.apply(KafkaIO.<Long, String>write()
    .withBootstrapServers("broker_1:9092,broker_2:9092")
    .withTopic("results")

    .withKeySerializer(LongSerializer.class)
    .withValueSerializer(StringSerializer.class)
);

【讨论】:

  • 这太棒了。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-03
  • 2017-01-08
  • 2020-11-08
  • 1970-01-01
  • 2020-04-12
相关资源
最近更新 更多