python - 谷歌CP : Where to schedule PubSub subscriber which writes to BigQuery

标签 python google-bigquery google-cloud-pubsub

我需要使用 Python 从 PubSub 写入 BigQuery。我测试了一些异步订阅者代码,它工作正常。但这需要持续运行,而且我不能 100% 确定在哪里安排它。我一直在使用 Cloud Composer (Airflow),但它看起来并不理想,而且看起来 Dataflow 是 GCP 推荐的?这是正确的吗?

或者有没有办法从 Cloud Composer 可靠地运行它?我想我可以运行它一次,但我想确保它再次运行,以防它因某种原因失败。

最佳答案

实现此目标的两种最佳方法是使用 Cloud Functions或使用 Cloud Dataflow 。对于 Cloud Functions,您可以在 Pub/Sub 主题上设置触发器,然后在代码中写入 BigQuery。它看起来类似于 tutorial on streaming from Cloud Storage to BigQuery ,但输入是 Pub/Sub 消息。对于数据流,您可以使用 Google-provided, open-source templates to write Pub/Sub messages to BigQuery 之一.

如果您的吞吐量较高(每秒数千条消息)且一致,则云数据流可能更适合。如果您的吞吐量较低或不频繁,云函数可能更适合。这些解决方案中的任何一个都会持续运行,并在可用时将消息写入 BigQuery。

关于python - 谷歌CP : Where to schedule PubSub subscriber which writes to BigQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53467001/

相关文章:

python - Google PubSub 订阅无法从 StatusCode.UNAVAILABLE [code=8a75] 错误中恢复

python - 有条件地组成序列的pythonic方法是什么?

python - 如何使用scrapy从页面中提取所有href内容

python - Django 表单操作属性无法正常工作

google-analytics - 使用谷歌分析数据将嵌套行转置为bigquery中的列

google-cloud-platform - 是否可以将 gcloud CLI 连接到 Pubsub 模拟器实例

python - 使用 PyAudio 录制扬声器输出

python - 通过 Python 脚本使用 Google BigQuery

google-bigquery - Bigquery "FOR SYSTEM_TIME AS OF"数据恢复功能保证

python - 使用 Dataflow 和 Apache Beam (Python) 将数据从 Pub/Sub 流式传输到 BigQuery 时出现问题