1

我担心通过 GCD pub/sub、Cloud Dataflow 对 IOT 进行实时流处理并通过 BigQuery 执行分析。我正在寻求有关如何实现这一点的帮助。 这是IOT实时流处理的架构

4

1 回答 1

1

我假设您的意思是将某种数据从 Google Cloud Platform 外部流式传输到 BigQuery。

除非您以某种方式转换数据,否则我认为没有必要使用数据流。

请注意,BigQuery 有自己的 Streaming API,因此您不必使用 Pub/Sub 将数据导入 BigQuery。

无论如何,这些是您通常应该遵循的步骤。

方法一

  1. 颁发服务帐户(并从 Google Console 上的 IAM 下载 .json 文件)
  2. 编写您的应用程序以获取您想要流式传输的数据
  3. 在该应用程序中,使用服务帐户直接流式传输到 BQ 数据集和表中
  4. 在 BigQuery 控制台 ( https://bigquery.cloud.google.com )上分析数据

方法二

  1. 设置 PubSub 队列
  2. 编写一个应用程序来收集您要流式传输的信息
  3. 推送到 PubSub
  4. 将 DataFlow 配置为从 PubSub 中提取,根据需要转换数据并推送到 BigQuery
  5. 如上所述在 BigQuery 控制台上分析数据。

原始数据

如果您只想将非常原始的数据(不处理)放入 BQ,那么我建议使用第一种方法。

半处理/处理数据

如果你真的想以某种方式转换数据,那么我会使用第二种方法,因为它允许你先处理数据。

尝试始终使用方法 1

但是,我通常总是建议使用第一种方法,即使您想以某种方式转换数据。

这样,您的数据集中就有一个data_dump表(原始数据),之后您仍然可以使用 DataFlow 来转换数据并将其放回aggregated中。

这为您提供了最大的灵活性,因为它允许您从BQ 中n的单个表创建可能转换的数据集。data_dump

于 2017-06-15T23:15:54.553 回答