繁体   English   中英

Google Cloud Dataflow - 从 PubSub 到 Parquet

[英]Google Cloud Dataflow - From PubSub to Parquet

我正在尝试使用 Google Cloud Dataflow 将 Google PubSub 消息写入 Google Cloud Storage。 PubSub 消息采用 json 格式,我要执行的唯一操作是从 json 转换为镶木地板文件。

在官方文档中,我找到了 google 提供的模板,该模板从 Pub/Sub 主题读取数据并将 Avro 文件写入指定的 Cloud Storage 存储桶( https://cloud.google.com/dataflow/docs/guides/templates/provided -streaming#pubsub-to-cloud-storage-avro )。 问题是模板源码是用Java写的,而我更喜欢用Python SDK。

这些是我对 Dataflow 和 Beam 进行的第一次测试,网上并没有很多资料可供参考。 任何建议、链接、指导、代码将不胜感激。

为了进一步为社区做出贡献,我将我们的讨论总结为答案。

由于您是从 Dataflow 开始的,我可以指出一些有用的主题和建议:

  1. Apache Beam中的 PTransform WriteToParquet()内置方法非常有用。 它从记录的PCollection写入Parquet文件。 此外,为了使用它并写入 parquet 文件,您需要按照文档中的说明指定架构。 此外, 本文将帮助您更好地了解如何使用此方法以及如何将其写入 Google Cloud Storage (GCS) 存储桶。

  2. Google 提供了这段代码,解释了如何从 PubSub 读取消息并将它们写入 Google Cloud Storage。 此 QuickStart 从 PubSub 读取消息并将来自每个 window 的消息写入存储桶。

  3. 由于您想从 PubSub 读取,将消息写入 Parquet 并将文件存储在 GCS 存储桶中,我建议您将以下过程作为管道的步骤:读取消息,写入 parquet 文件并将其存储在地面站。

我鼓励您阅读上述链接。 然后,如果您有任何其他问题,您可以发布另一个主题以获得更具体的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM