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) 上,在设计决策期间需要考虑哪些因素?
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 的管道示例。
归档时间: |
|
查看次数: |
6653 次 |
最近记录: |