SQL 数据库到 Bigquery 或 SQL 数据库到 GCS 到 BigQuery

le *_*yen 0 google-cloud-storage google-bigquery

在 Adi Wijaya 所著的《Data Engineering with Google Cloud Platform》一书中,为了将数据从 sql 数据库加载到 BigQuery,作者总是先将数据从 sql 加载到 Google Cloud Storage,并将其用作临时环境,只有在这之后才可以将数据从 sql 数据库加载到 BigQuery。他将数据加载到 BigQuery

通过 GCS 步骤而不是直接进入 BigQuery 有什么优势?在哪种情况下,您会直接将数据从 SQL 数据库加载到 BigQuery?

小智 5

BigQuery 不支持本文中提到的 SQL 格式直接将数据从 Cloud SQL 加载到 BigQuery。您可以按照以下流程操作:

  1. 您可以使用BigQuery Cloud SQL 联合查询将数据从 Cloud SQL 直接导入 BigQuery。
  2. 根据本文档,您应该首先从 Cloud SQL 数据库生成 CSV 或 JSON,并将这些文件保存到 Cloud Storage 并将数据加载到 BigQuery 中。

将数据从 Cloud SQL 加载到 Cloud Storage 再到 BigQuery 的优点包括:

  • 云存储提供可恢复上传等服务,而将作业和数据结合起来意味着您需要更加小心地管理作业的任何问题,并关注暂时性问题。
  • 根据此文档,使用云存储您可以利用长期存储:

当您从 Cloud Storage 将数据加载到 BigQuery 时,您无需为加载操作付费,但在 Cloud Storage 中存储数据会产生费用。

  • 正如 @John Hanley 所提到的,我同意将数据加载到 Google Cloud 存储到 BigQuery 的优点是速度更快,并且可以确保在主数据发生故障时恢复一致的副本或备份。
  • BigQuery 表可以在不使用时删除,并在需要时导入。并且创建表时失败的可能性较小。

附加信息是,在 BigQuery 中存储的成本高于在云存储中的成本。当您从 Cloud Storage 存储分区将数据加载到 BigQuery 时,您会受到以下限制。

为了提出最佳策略,您的问题需要更多信息。但这仍然取决于您的用例。有关加载数据的更多信息,请参阅BigQuery 文档