首页 > 解决方案 > BigQuery 到 Kafka 主题

问题描述

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

标签: google-cloud-platformapache-kafkagoogle-bigqueryapache-kafka-connect

解决方案


有多种选择。我将使用在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)
);

推荐阅读