适用于 BigQuery 的最佳 Google Cloud Storage

Posted

技术标签:

【中文标题】适用于 BigQuery 的最佳 Google Cloud Storage【英文标题】:Optimal Google Cloud Storage for BigQuery 【发布时间】:2018-03-15 13:54:02 【问题描述】:

假设一个 1 TB 的数据集来自几百个 csv 文件中的源,并自然分成两个大表,那么在 Google Cloud Storage 中存储数据的最佳方式是什么?按日期分区不适用,因为数据相对静态且仅每季度更新一次。是否最好将所有数据合并到两个大文件中并将每个文件映射到 BigQuery 表?分区更好吗?如果有,依据是什么?是否存在使 BigQuery 性能下降的阈值文件大小?

【问题讨论】:

这是一个非常广泛的问题,目前还不清楚您要问的是什么 TBH。您需要查询这些数据还是只存储它?如果是前者,则从 GCS 将其加载到 BigQuery 中。如果是后者,只需将其留在 GCS 中即可。 我想查询并在 BiqQuery 中创建了一个表,但只有一部分数据,总计几 GB。我的问题是,如果我有 TB 的数据,我应该将其保存在一个巨大的 GCS 文件中还是应该将其拆分? 只需将其全部加载到 BigQuery 中。 BigQuery 早餐吃 TB。 嗨@GrahamPolley 你能发表你的评论作为答案吗?谢谢! 【参考方案1】:

取决于用例:

查询数据 => 然后将其从 GCS 加载到 BigQuery。 存储数据 => 将其保留在 GCS 中。

问题: “我想查询并在 BiqQuery 中创建了一个表,但只有一部分数据,总计几 GB。我的问题是我是否有 TB我应该将数据保存在一个巨大的 GCS 文件中还是应该将其拆分?"

答案: 只需将其全部加载到 BigQuery 中即可。 BigQuery 早餐吃 TB。

【讨论】:

以上是关于适用于 BigQuery 的最佳 Google Cloud Storage的主要内容,如果未能解决你的问题,请参考以下文章

适用于 BigQuery 的 Google Apps 脚本(标准 SQL)- NaN

sql 脚本适用于 MySQL,但不适用于 google bigquery

在适用于 PHP 的 Google BigQuery API 中捕获“响应太大而无法返回错误”的正确方法是啥?

谷歌 BigQuery 身份验证

Google BigQuery 上的最佳 JOIN 性能

Google API - Android BigQuery 客户端的应用级授权