3

有没有办法使用 BigQuery 运行实时分析?我使用了 CSV 上传选项来启动一项工作并以离线模式加载数据,一旦加载完成就可以对其进行分析。但在有关 BigQuery 的公告中,提到了使用 BigQuery 进行实时分析。如何做到这一点?我们能否以涓流模式将来自 Google Cloud 数据库的数据(不更新)附加到 BigQuery 以进行实时分析?

作为旁注,我注意到 BigQuery CSV 数据加载比在我的本地 PC 上使用 10GB 数据文件运行的 LucidDB 和 InfiniDB 慢一个数量级。BigQuery 作业完成需要 34 分钟,而 InfiniDB 和 LucidDB 需要 5 分钟。与 InfiniDB 相比,BigQuery 的查询执行时间(对于简单聚合)慢两倍(6 秒对 3 秒,对于加载大约 30+ 百万条记录的 10GB 文件),但优于 LucidDB。

4

5 回答 5

8

2013 年更新:现在您可以将数据流式传输到 BigQuery,并进行实时查询。

(您流式传输的数据稍后可用于查询)

https://developers.google.com/bigquery/streaming-data-into-bigquery

于 2013-10-22T19:21:16.563 回答
2
  1. 目前无法使用 BigQuery 一次直接流式传输一条记录的数据。唯一受支持的摄取方法是从 Google Cloud 存储导入 csv 文件,或直接通过多部分 mime POST 请求导入。摄取配额为 2 个导入/分钟,每天 1,000 个导入请求,每个导入请求 100GB 总数据(请参阅:https ://developers.google.com/bigquery/docs/quota-policy )。

  2. “实时分析”(对大量数据运行非常快速的即席查询的能力)和“实时数据”的持续收集(键值数据存储更适合支持)之间存在区别。BigQuery 当前的摄取机制不支持持续的单条记录更新,但它允许开发人员在海量数据集上非常快速地运行查询。

  3. 虽然 Stack Overflow 不是最适合讨论基准测试的地方,但我要补充一点,如果不了解您使用的数据架构,就很难对摄取和查询速度进行基准测试。虽然 10Gb 是大量数据,但如果比较大得多的数据集(例如 10 TB 或更多)的摄取和查询速度,将会很有趣。

于 2012-05-02T20:50:43.003 回答
2

最好将实时分析和数据仓库分开。一种可以针对数据收集速度进行优化,以提供警报和触发器。后者用于大规模并行搜索和聚合。

两者都没有真正的解决方案,因为它们是相互排斥的。为了快速进行大型数据聚合,您必须在索引和存储数据方面执行大量工作——您希望最大限度地减少这些操作以快速访问数据。

于 2016-07-08T16:09:33.010 回答
0

在 BiqQuery 中导入大量数据的最佳方法是使用 Google 提供的 python 工具。这是上传数据的最有效方式。我正在使用这些工具

  1. 首先使用gsutil将原始数据上传到 Google Cloud
  2. 使用bq将该数据从 GC 导入 BigQuery
于 2014-10-03T08:02:30.437 回答
0

如果您正在寻找与关系数据仓库并行运行的基于 SQL 的实时分析层,我们最近发布了一个名为Stride的实时分析 API 产品,它使用对流数据的连续 SQL 查询来支持这种类型的实时分析层你在谈论。Stride 基于我们的开源流式 SQL 数据库PipelineDB,它是 PostgreSQL 的一个分支,实际上将在今年年底成为标准的 PostgreSQL 扩展。

The nice thing about continuous SQL queries on streams for your realtime analytics layer is that if you have a realtime need, then by definition you already know the queries you want to run, so continuous queries both speed up and drastically simplify your realtime data architecture, while reducing costs otherwise incurred from storing extraneous granular data.

于 2017-10-25T18:14:50.300 回答