データのインポートとエクスポート

このページでは、Bigtable との間でデータをインポートおよびエクスポートするために利用できる方法について説明します。

Bigtable にデータをインポートする

次のいずれかの方法でデータを Bigtable にインポートできます。

BigQuery
BigQuery データを Bigtable にインポートするには、 Bigtable にデータをエクスポートする(リバース ETL)を BigQuery ドキュメントでご覧ください。
BigQuery データに対して継続的クエリを実行し、 リバース ETL を使用して結果を Bigtable にリアルタイムでエクスポートできます。 詳細については、BigQuery ドキュメントの継続的クエリの概要 をご覧ください。
Pub/Sub
Pub/Sub Bigtable サブスクリプション(プレビュー版)を使用して、Pub/Sub から Bigtable テーブルにメッセージを直接ストリーミングできます。この方法では、Dataflow などの個別のサブスクライバーを必要とせずに、ストリーミング メッセージを Bigtable に書き込むことができます。

テンプレートを使用してデータを移動またはコピーする

次の 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 から SequenceFiles としてデータをエクスポートし、そのデータを 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. コンソールで Bigtable インスタンスのリストを開きます。 Google Cloud

    インスタンスのリストを開く

  2. インポートするテーブルが含まれているインスタンスをクリックします。

  3. 左ペインで [テーブル] をクリックします。

    [テーブル] ページに、インスタンス内のテーブルのリストが表示されます。

  4. データをインポートするテーブルの名前の横にある [Table action] メニューをクリックします。

  5. [データをインポート] をクリックし、インポートするデータのタイプを選択します。

    • CSV を選択すると、 cbt CLI ターミナル ウィンドウが開きます。詳細については、このドキュメントのCSV データをインポートするをご覧ください。
    • BigQuery を選択すると、BigQuery Studio が開きます。 リバース ETL クエリを入力して実行します。
    • Dataflow ジョブビルダーを選択すると、ジョブビルダーが開きます。詳細については、 ジョブビルダー UI の概要をご覧ください。
    • Avro、Parquet、SequenceFile、Cassandra を選択すると、部分的に完了した Dataflow テンプレートがコンソールに表示されます。 ジョブ テンプレートを入力して、[ジョブを実行] をクリックします。

[テーブル] ページからエクスポートする

このページで説明するエクスポート方法の一部は、 Google Cloud コンソールを使用して実行できます。[テーブル] ページから次の種類のデータをエクスポートします。

  • Avro ファイル
  • Parquet ファイル
  • SequenceFile ファイル

コンソール

  1. コンソールで Bigtable インスタンスのリストを開きます。 Google Cloud

    インスタンスのリストを開く

  2. エクスポートするテーブルが含まれているインスタンスをクリックします。

  3. 左側のペインで [テーブル] をクリックします。

    [テーブル] ページに、インスタンス内のテーブルのリストが表示されます。

  4. テーブル名の横にある [テーブル アクション] メニューをクリックします。

  5. [**データをエクスポート**] をクリックし、エクスポートするファイル形式を選択します。

    部分的に完了した Dataflow テンプレートがコンソールに表示されます。

  6. ジョブ テンプレートを入力して、[ジョブを実行] をクリックします。

CSV データをインポートする

CLI を使用して、CSV ファイルから Bigtable テーブルにデータをインポートできます。cbtこれを行うには、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 コマンドを使用してデータをインポートします。コマンドの例については、 入力ファイルに基づいて多くの行を一括書き込みするをご覧ください。

次のステップ