Kafka 到 Google Cloud Platform 数据流摄取

Amo*_*kar 3 apache-kafka google-cloud-platform google-cloud-dataflow

可以通过哪些选项将主题中的 Kafka 数据流式传输、使用并提取到 BigQuery/云存储中。

根据, 是否可以将 Kafka 与 Google 云数据流一起使用

GCP 附带了构建在 Apache Beam 编程模型之上的 Dataflow。KafkaIO 与 Beam Pipeline 结合使用是对传入数据执行实时转换的推荐方法吗?

https://beam.apache.org/releases/javadoc/2.5.0/org/apache/beam/sdk/io/kafka/KafkaIO.html

Kafka 数据可以推送到云发布-订阅,然后推送到 BigQuery 表上。也可以使用 GCP 之外的 Kafka 流/Spark 作业。

鉴于数据完全托管在 Google Cloud Platform (GCP) 上,在设计决策期间需要考虑哪些因素?

Pab*_*blo 5

Apache Beam 于 2016 年通过KafkaIO转换集添加了 Kafka 支持。这意味着 Dataflow 也支持它。

将数据加载到 BigQuery 中最简单的方法是使用在 Dataflow 上运行的 Apache Beam 管道。你的管道看起来像这样:

Pipeline p = Pipeline.create();

p.apply("ReadFromKafka", KafkaIO.read()
                                .withTopic(myTopic)...)
 .apply("TransformData", ParDo.of(new FormatKafkaDataToBigQueryTableRow(mySchema))
 .apply(BigQueryIO.writeTableRows()
                  .to(myTableName)
                  .withSchema(mySchema));

p.run().waitUntilFinish();
Run Code Online (Sandbox Code Playgroud)

在 Dataflow 上使用 Beam 管道的优点是,您不必管理数据读取的偏移量、状态和一致性(与从 Kafka->BQ 读取的自定义编写流程相比);也不是集群(相对于 Spark 作业)。

最后,这是使用 KafkaIO 的管道示例