我担心通过 GCD pub/sub、Cloud Dataflow 对 IOT 进行实时流处理并通过 BigQuery 执行分析。我正在寻求有关如何实现这一点的帮助。 这是IOT实时流处理的架构
问问题
491 次
1 回答
1
我假设您的意思是将某种数据从 Google Cloud Platform 外部流式传输到 BigQuery。
除非您以某种方式转换数据,否则我认为没有必要使用数据流。
请注意,BigQuery 有自己的 Streaming API,因此您不必使用 Pub/Sub 将数据导入 BigQuery。
无论如何,这些是您通常应该遵循的步骤。
方法一
- 颁发服务帐户(并从 Google Console 上的 IAM 下载 .json 文件)
- 编写您的应用程序以获取您想要流式传输的数据
- 在该应用程序中,使用服务帐户直接流式传输到 BQ 数据集和表中
- 在 BigQuery 控制台 ( https://bigquery.cloud.google.com )上分析数据
方法二
- 设置 PubSub 队列
- 编写一个应用程序来收集您要流式传输的信息
- 推送到 PubSub
- 将 DataFlow 配置为从 PubSub 中提取,根据需要转换数据并推送到 BigQuery
- 如上所述在 BigQuery 控制台上分析数据。
原始数据
如果您只想将非常原始的数据(不处理)放入 BQ,那么我建议使用第一种方法。
半处理/处理数据
如果你真的想以某种方式转换数据,那么我会使用第二种方法,因为它允许你先处理数据。
尝试始终使用方法 1
但是,我通常总是建议使用第一种方法,即使您想以某种方式转换数据。
这样,您的数据集中就有一个data_dump
表(原始数据),之后您仍然可以使用 DataFlow 来转换数据并将其放回表aggregated
中。
这为您提供了最大的灵活性,因为它允许您从BQ 中n
的单个表创建可能转换的数据集。data_dump
于 2017-06-15T23:15:54.553 回答