Cloud Storage 传输作业概览

通过适用于 Cloud Storage 的 BigQuery Data Transfer Service,您可以安排从 Cloud Storage 到 BigQuery 的周期性数据加载作业。Cloud Storage 路径和目标表都可以参数化,以便您能够从按日期整理的 Cloud Storage 存储分区中加载数据。

支持的文件格式

BigQuery Data Transfer Service 目前支持以某一下列格式从 Cloud Storage 加载数据:

  • 逗号分隔值 (CSV)
  • JSON(以换行符分隔)
  • Avro
  • Parquet
  • ORC

支持的压缩类型

适用于 Cloud Storage 的 BigQuery Data Transfer Service 支持加载压缩数据。BigQuery Data Transfer Service 支持的压缩类型与 BigQuery 加载作业支持的压缩类型相同。如需了解详情,请参阅加载压缩和未压缩的数据

Cloud Storage URI

要从 Cloud Storage 数据源加载数据,您必须提供 Cloud Storage URI。

Cloud Storage URI 包含存储分区名称和对象(文件名)。例如,如果 Cloud Storage 存储分区名为 mybucket,并且数据文件名为 myfile.csv,则存储分区 URI 为 gs://mybucket/myfile.csv。如果数据被分成多个文件,您可以在 URI 中使用通配符。如需了解详情,请参阅 Cloud Storage 请求 URI

BigQuery 不支持在初始双斜杠之后添加多个连续斜杠的源 URI。Cloud Storage 对象名称可包含多个连续斜杠(“/”)字符。但是,BigQuery 会将多个连续斜杠转换为单个斜杠。例如,虽然以下源 URI 在 Cloud Storage 中有效,但不适用于 BigQuery:gs://bucket/my//object//name

要检索 Cloud Storage URI,请按以下步骤操作:

  1. 打开 Cloud Storage 控制台

    Cloud Storage 控制台

  2. 浏览到包含源数据的对象(文件)的位置。

  3. 在 Cloud Storage 控制台顶部,找到并记下对象的路径。要构成 URI,请将 gs://bucket/file 替换为适当的路径,例如 gs://mybucket/myfile.json。 bucket 是 Cloud Storage 存储分区名称,file 是包含数据的对象(文件)的名称。

Cloud Storage URI 的通配符支持

如果您的 Cloud Storage 数据分为共用一个通用基本名称的多个文件,则在加载数据时,您可以在 URI 中使用一个通配符。

要在 Cloud Storage URI 中添加通配符,可在基本名称后附加星号 (*)。例如,如果您有两个文件,名为 fed-sample000001.csvfed-sample000002.csv,则存储分区 URI 为 gs://mybucket/fed-sample*。然后,您就可以在网页界面或 CLI 中使用此通配符 URI。

存储分区中的对象(文件名)仅可使用一个通配符。通配符可以出现在对象名称内或对象名称末尾。不支持在存储分区名称中使用通配符。

位置注意事项

在选择数据的位置时,请考虑以下事项:

  • 共置 Cloud Storage 存储分区,以加载数据。
    • 如果您的 BigQuery 数据集位于多区域位置,则包含您要加载的数据的 Cloud Storage 存储分区必须位于同一位置的区域或多区域存储分区中。例如,如果您的 BigQuery 数据集位于 EU,则 Cloud Storage 存储分区必须位于 EU 的区域或多区域存储分区中。
    • 如果您的数据集位于区域位置,则您的 Cloud Storage 存储分区必须是同一位置的区域存储分区。例如,如果您的数据集位于东京区域,则您的 Cloud Storage 存储分区必须是位于东京的区域存储分区。
    • 例外情况:如果您的数据集位于 US 多区域位置,则可以从任何区域或多区域位置的 Cloud Storage 存储分区加载数据。
  • 制定数据管理计划。
    • 如果您选择区域存储资源(如 BigQuery 数据集或 Cloud Storage 存储分区),请制定按地理位置管理数据的计划。

如需详细了解 Cloud Storage 位置,请参阅 Cloud Storage 文档中的存储分区位置

要手动将数据集从一个位置移动到另一个位置,请按照以下流程操作:

  1. 将数据从 BigQuery 表导出到数据集所在位置的区域或多区域 Cloud Storage 存储分区中。例如,如果您的数据集位于 EU 多区域位置,请将您的数据导出到位于 EU 的区域或多区域存储分区中。

    从 BigQuery 导出数据不会产生费用,但是将导出的数据存储在 Cloud Storage 中会产生费用。BigQuery 导出需要遵循与导出作业相关的限制。

  2. 将数据从 Cloud Storage 存储分区复制或移动到新位置的区域或多区域存储分区中。例如,如果要将数据从 US 多区域位置移动到东京区域位置,则会将数据转移到位于东京的区域存储分区。如需了解如何转移 Cloud Storage 对象,请参阅 Cloud Storage 文档中的重命名、复制和移动对象

    请注意,在不同区域之间转移数据会在 Cloud Storage 中产生网络出站费用

  3. 将数据转移到新位置的 Cloud Storage 存储分区后,(在新位置)创建一个新的 BigQuery 数据集。然后,将数据从 Cloud Storage 存储分区加载到 BigQuery 中。

    您不需要为将数据加载到 BigQuery 而付费,但在删除数据或存储分区之前,您需要为在 Cloud Storage 中存储数据支付费用。加载完毕后,您还需要为在 BigQuery 中存储数据支付费用。将数据加载到 BigQuery 需要遵循与加载作业相关的限制。

如需详细了解如何使用 Cloud Storage 存储和移动大型数据集,请参阅使用 Cloud Storage 处理大数据

价格

如需了解 BigQuery Data Transfer Service 价格,请参阅价格页面。

配额和限制

BigQuery Data Transfer Service 使用加载作业将 Cloud Storage 数据加载到 BigQuery 中。加载作业的所有 BigQuery 配额和限制均适用于周期性 Cloud Storage 加载作业。

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面