导入和导出数据

本页面列出了将数据导入到 Bigtable 中和从 Bigtable 导出数据的方法。

将数据导入到 Bigtable

您可以通过以下任一方式将数据导入到 Bigtable:

BigQuery
如需将 BigQuery 数据导入到 Bigtable,请参阅 BigQuery 文档中的 将数据导出到 Bigtable(反向 ETL)
您可以使用反向 ETL 对 BigQuery 数据运行持续查询,并 实时将结果导出到 Bigtable。 如需了解详情,请参阅 BigQuery 文档中的持续查询简介
Pub/Sub
您可以使用 Pub/Sub Bigtable 订阅预览版)将消息从 Pub/Sub 直接流式传输到 Bigtable 表。 借助此方法,您可以将流式消息写入 Bigtable ,而无需单独的订阅者(例如 Dataflow)。

使用模板移动或复制数据

您可以使用以下 Dataflow 模板在 Bigtable 与其他来源或目标之间移动或复制数据。

BigQuery

借助以下 Dataflow 模板,您可以将数据从 BigQuery 导出到 Bigtable。

Apache Cassandra to Bigtable

借助以下 Dataflow 模板,您可以将数据从 Apache Cassandra 导出到 Bigtable。

Avro 文件

借助以下 Dataflow 模板,您可以将 Bigtable 中的数据导出为 Avro 文件,然后再将数据导入回 Bigtable 中。您可以使用 Google Cloud CLI 或 Google Cloud 控制台执行这些模板。源代码位于 GitHub 上。

Parquet 文件

借助以下 Dataflow 模板,您可以将 Bigtable 中的数据导出为 Parquet 文件,然后再将数据导入回 Bigtable 中。您可以使用 gcloud CLI 或 Google Cloud 控制台执行这些模板。源代码 位于 GitHub 上。

SequenceFiles

借助以下 Dataflow 模板,您可以将 Bigtable 中的数据导出为 SequenceFile 文件,然后再将数据导入回 Bigtable 中。您可以使用 Google Cloud CLI 或 Google Cloud 控制台执行这些模板。

从“表”页面导入

您可以使用 Google Cloud 控制台执行本页介绍的许多导入方法。从 页面导入以下类型的数据:

  • CSV 数据
  • BigQuery 数据
  • 您可以使用 Dataflow 作业构建器导入的数据。这包括以下类型的数据:
    • Pub/Sub 消息
    • BigQuery 表数据
    • Cloud Storage 中的 CSV 文件、JSON 文件和文本文件
    • PostgreSQL、MySQL、Oracle 和 SQL Server 表数据
  • 您可以使用 Dataflow 模板导入的数据。这包括以下类型的数据:

    • Avro 文件
    • Cassandra 键空间和表
    • Parquet 文件
    • SequenceFile 文件

控制台

  1. 在 Google Cloud 控制台中打开 Bigtable 实例列表。

    打开实例列表

  2. 点击包含待导入表的实例。

  3. 在左侧窗格中,点击

    页面显示实例中的表列表。

  4. 在要将数据导入到的表名称旁边,点击 表操作 菜单。

  5. 点击导入数据,然后选择要 导入的数据类型:

    • 如果您选择 CSV,系统会打开 cbt CLI 终端窗口。如需了解更多 信息,请参阅本文档的导入 CSV 数据部分。
    • 如果您选择 BigQuery,系统会打开 BigQuery Studio。 填写反向 ETL 查询并运行。
    • 如果您选择 Dataflow 作业构建器,系统会打开作业构建器。如需了解详情,请参阅 作业构建器界面概览
    • 如果您选择 Avro、Parquet、SequenceFile 或 Cassandra,控制台会显示部分完成的 Dataflow 模板。 填写作业模板,然后点击运行作业

从“表”页面导出

您可以使用 Google Cloud 控制台执行本页介绍的某些导出方法。从 页面导出以下类型的数据:

  • Avro 文件
  • Parquet 文件
  • SequenceFile 文件

控制台

  1. 在 Google Cloud 控制台中打开 Bigtable 实例列表。

    打开实例列表

  2. 点击包含待导出表的实例。

  3. 在左侧窗格中,点击

    页面显示实例中的表列表。

  4. 在表名称旁边,点击 表操作 菜单。

  5. 点击导出数据 ,然后选择要导出的文件类型。

    控制台会显示部分完成的 Dataflow 模板。

  6. 填写作业模板,然后点击运行作业

导入 CSV 数据

您可以使用 cbt CLI 将数据从 CSV 文件导入到 Bigtable 表中。为此,您需要确保您的环境(例如 Cloud Shell)可以访问 CSV 文件。您可以通过以下任一方式将 CSV 文件导入到 Cloud Shell 中:

上传本地 CSV 文件

  1. 在 Cloud Shell 中,点击 更多 菜单,然后选择 上传
  2. 从本地机器中选择 CSV 文件。
  3. 上传文件后,在 cbt CLI 命令中按名称引用该文件。

从 Cloud Storage 复制 CSV 文件

cbt CLI 不直接支持从 Cloud Storage 存储桶导入。您必须先将 CSV 文件从 Cloud Storage 复制到 Cloud Shell 环境。如需了解详情,请参阅 将对象上传到存储桶

在您的环境中提供 CSV 文件后,使用 cbt CLI 命令导入数据。如需查看示例命令,请参阅 根据输入文件批量写入多行

后续步骤