Spanner 导入和导出概览

概览

Spanner 导入和导出功能可帮助您使用 Dataflow 将数据批量移入或移出 Spanner 数据库。您可以使用 Avro 或 CSV 文件格式将任何 Spanner 数据库导出到 Cloud Storage 存储桶中。您还可以将数据从 Avro 或 CSV 文件导入新的 Spanner 数据库中。

用例

导入和导出功能的使用场景包括:

  • 批量加载:您可以使用导入功能将数据批量加载到 Spanner 中。
  • 长期备份和归档:您可以随时导出数据库,并将其存储在您选择的 Cloud Storage 存储桶位置,以便进行长期备份或归档。此外,您还可以使用时间点恢复功能,从过去的特定时间戳导出数据库。

    请注意,Spanner 还提供了托管式备份和恢复功能,以实现更快的灾难恢复用例。

  • 将数据库复制到开发或测试项目:您可以从生产项目中导出数据库,然后将其导入到开发或测试项目中,以用于集成测试或其他实验。

  • 注入以进行分析:您可以使用数据库导出功能将运营数据批量注入到 BigQuery 等分析服务。BigQuery 可以自动从 Cloud Storage 存储桶中注入 Avro 格式的数据,让您更轻松地对运营数据运行分析。

    请注意,如果您希望使用 BigQuery 实时分析 Spanner 数据,而无需复制或移动这些数据,则可以改用 Spanner 联合查询。

文件格式比较

下表比较了导入和导出 Spanner 数据时 Avro 和 CSV 文件格式之间的功能差异。

有关导入或导出这些格式文件的详细说明,包括可能适用的限制信息,请参阅下文中的后续步骤

能力 Avro 格式 CSV 格式
导入或导出整个数据库
能够仅导出数据库中选定的表 是* 是†
能够导入之前导出的表 是* 是†
按过去的时间戳导出
使用 Google Cloud CLI 导入或导出
使用 Google Cloud 控制台的 Dataflow 页面导入或导出
使用 Google Cloud 控制台的 Spanner 页面导入或导出 是*

* 请参阅下文的“关于 Avro 导入和导出的说明”。
† 请参阅下文的“关于 CSV 导入和导出的说明”。

Avro 导入和导出说明

导出为 Avro 格式时,您可以指定要导出的表的列表。以这种方式导出的所有子表都需要与其父表一起存在。Spanner 会在导出的文件中维护整个数据库架构。

从 Avro 格式导入数据时,Spanner 会重新创建所导出数据库的整个架构,包括所有表。原始导出中包含的表会接收其所有导出的数据;所有其他表将保留为空。

Google Cloud 控制台的 Spanner 页面提供了有限的 Avro 格式导入和导出选项。例如,它不提供网络和子网选项。如需查看更多选项,请改用 Dataflow 页面。

有关 CSV 导入和导出的注意事项

Spanner 限制您一次只能将一个表导出为 CSV 格式。导出时,系统不会导出架构,而只会导出数据。

从 CSV 文件导入之前,您需要手动创建 JSON 清单

价格

Spanner 不会因使用导出或导入工具而产生额外费用;将数据库导入 Spanner 时,您只需按标准费率支付数据存储费用。但是,导入和导出数据库可能会产生其他相关费用。如需了解详情,请参阅 Spanner pricing页面。

后续步骤