概览
Spanner 导入和导出功能可帮助您批量移动数据 使用 Dataflow 传入或传出 Spanner 数据库。 您可以将任何 Spanner 数据库导出到 Cloud Storage 使用 Avro 或 CSV 文件格式创建存储桶。您还可以从 Avro 导入数据 导出到新的 Spanner 数据库。
使用场景
导入和导出功能的使用场景包括:
- 批量加载:您可以使用导入功能将数据批量加载到 Spanner 中。
长期备份和归档:您可以随时导出数据库 并将其长期存储在您选择的 Cloud Storage 存储桶位置 备份或归档。此外,您还可以使用时间点 恢复来导出特定过去时间戳的数据库。
请注意,Spanner 还提供 托管式备份和恢复服务,更快地 灾难恢复用例。
将数据库复制到开发或测试项目:您可以导出 从生产项目中导入数据库,然后将其导入到您的开发中, 用于集成测试或其他实验的测试项目。
提取以进行分析:您可以使用数据库导出功能将运营数据批量提取到 BigQuery 等分析服务。BigQuery 可以自动从 Cloud Storage 中注入 Avro 格式的数据 让您可以更轻松地对运营数据运行分析。
请注意,如果您想使用 BigQuery 对 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 价格页面 了解详情。
后续步骤
- 了解如何将数据库从 Spanner 导出到 Avro
- 了解如何导入 Spanner Avro 文件
- 了解如何以 CSV 格式导入和导出数据
- 了解如何从非 Spanner 数据库导入数据