【问题标题】:Speed up BigQuery query job to import from Cloud SQL加快 BigQuery 查询作业以从 Cloud SQL 导入
【发布时间】:2021-04-11 18:28:47
【问题描述】:

我正在执行一个查询以生成一个大小约为 1 Tb(数十亿行)的新 BigQuery 表,这是使用联合查询将 Cloud SQL 表迁移到 BigQuery 的一部分。我使用 BigQuery Python 客户端提交查询作业,在查询中我从 Cloud SQL 数据库表中选择所有内容并使用 EXTERNAL_QUERY。

我发现查询可能需要 6 个多小时(并且失败并显示“操作在 6.0 小时后超时”)!即使它没有失败,我也想加快速度,因为我可能需要再次执行此迁移。

我看到 PostgreSQL 出口是 20Mb/秒,与需要半天的工作一致。如果我考虑使用 Dataflow 更分散的东西会有所帮助吗?或者更简单,使用 BigQuery 客户端扩展我的 Python 代码以生成多个查询,这些查询可以由 BigQuery 异步运行?

或者是否可以继续使用单个查询但增加出口流量(数据库配置)?

【问题讨论】:

    标签: google-cloud-platform google-bigquery google-cloud-sql


    【解决方案1】:

    我觉得用dump导出比较合适。

    在大表上运行查询是一项低效的工作。

    我建议将 Cloud SQL 数据导出到 CSV 文件。

    BigQuery 可以导入 CSV 格式的文件,因此您可以使用此文件创建新的 bigQuery 表。

    我不确定这项工作需要多长时间,但至少不会失败。

    请参阅here 以获取有关将 Cloud SQL 导出到 CSV 转储的更多详细信息。

    【讨论】:

    • 从本地计算机上传的 CSV 文件有 10mb 的限制。要解决此问题,您可以将文件上传到 Google Cloud Storage 存储桶,然后复制“//gs:”存储 URL。然后在控制台中,您可以创建表并选择源“Google Cloud Storage”并粘贴您的 URL。
    猜你喜欢
    • 2021-01-17
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2020-11-11
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多