Cloud Storage SequenceFile to Bigtable テンプレート

Cloud Storage SequenceFile to Bigtable テンプレートは、Cloud Storage バケット内の SequenceFile からデータを読み取り、そのデータを Bigtable テーブルに書き込むパイプラインです。このテンプレートは、Cloud Storage から Bigtable にデータをコピーする場合に使用できます。

パイプラインの要件

  • Bigtable テーブルが存在していること。
  • パイプラインを実行する前に、入力 SequenceFiles が Cloud Storage バケット内に存在すること。
  • 入力 SequenceFiles が Bigtable または HBase からエクスポートされていること。

テンプレートのパラメータ

パラメータ 説明
bigtableProject データを書き込む Bigtable インスタンスの Google Cloud プロジェクトの ID。
bigtableInstanceId テーブルが含まれている Bigtable インスタンスの ID。
bigtableTableId インポートする Bigtable テーブルの ID。
bigtableAppProfileId インポートに使用される Bigtable アプリケーション プロファイルの ID。アプリ プロファイルを指定しないと、Bigtable はインスタンスのデフォルトのアプリ プロファイルを使用します。
sourcePattern データが存在する Cloud Storage パスのパターン(例: gs://mybucket/somefolder/prefix*)。

テンプレートを実行する

コンソール

  1. Dataflow の [テンプレートからジョブを作成] ページに移動します。
  2. [テンプレートからジョブを作成] に移動
  3. [ジョブ名] フィールドに、固有のジョブ名を入力します。
  4. (省略可)[リージョン エンドポイント] で、プルダウン メニューから値を選択します。デフォルトのリージョンは us-central1 です。

    Dataflow ジョブを実行できるリージョンのリストについては、Dataflow のロケーションをご覧ください。

  5. [Dataflow テンプレート] プルダウン メニューから、the SequenceFile Files on Cloud Storage to Cloud Bigtable template を選択します。
  6. 表示されたパラメータ フィールドに、パラメータ値を入力します。
  7. [ジョブを実行] をクリックします。

gcloud

シェルまたはターミナルで、テンプレートを実行します。

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/GCS_SequenceFile_to_Cloud_Bigtable \
    --region REGION_NAME \
    --parameters \
bigtableProject=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
bigtableAppProfileId=APPLICATION_PROFILE_ID,\
sourcePattern=SOURCE_PATTERN

次のように置き換えます。

  • JOB_NAME: 一意の任意のジョブ名
  • VERSION: 使用するテンプレートのバージョン

    使用できる値は次のとおりです。

    • latest: 最新バージョンのテンプレートを使用します。このテンプレートは、バケット内で日付のない親フォルダ(gs://dataflow-templates-REGION_NAME/latest/)にあります。
    • バージョン名(例: 2023-09-12-00_RC00)。特定のバージョンのテンプレートを使用します。このテンプレートは、バケット内で対応する日付の親フォルダ(gs://dataflow-templates-REGION_NAME/)にあります。
  • REGION_NAME: Dataflow ジョブをデプロイするリージョン(例: us-central1
  • BIGTABLE_PROJECT_ID: データを読み取る Bigtable インスタンスの Google Cloud プロジェクトの ID
  • INSTANCE_ID: テーブルが含まれている Bigtable インスタンスの ID
  • TABLE_ID: エクスポートする Bigtable テーブルの ID
  • APPLICATION_PROFILE_ID: エクスポートに使用される Bigtable アプリケーション プロファイルの ID。
  • SOURCE_PATTERN: データが存在する Cloud Storage パスのパターン(例: gs://mybucket/somefolder/prefix*

API

REST API を使用してテンプレートを実行するには、HTTP POST リクエストを送信します。API とその認証スコープの詳細については、projects.templates.launch をご覧ください。

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/GCS_SequenceFile_to_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProject": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "bigtableAppProfileId": "APPLICATION_PROFILE_ID",
       "sourcePattern": "SOURCE_PATTERN",
   },
   "environment": { "zone": "us-central1-f" }
}

次のように置き換えます。

  • PROJECT_ID: Dataflow ジョブを実行する Google Cloud プロジェクトの ID
  • JOB_NAME: 一意の任意のジョブ名
  • VERSION: 使用するテンプレートのバージョン

    使用できる値は次のとおりです。

    • latest: 最新バージョンのテンプレートを使用します。このテンプレートは、バケット内で日付のない親フォルダ(gs://dataflow-templates-REGION_NAME/latest/)にあります。
    • バージョン名(例: 2023-09-12-00_RC00)。特定のバージョンのテンプレートを使用します。このテンプレートは、バケット内で対応する日付の親フォルダ(gs://dataflow-templates-REGION_NAME/)にあります。
  • LOCATION: Dataflow ジョブをデプロイするリージョン(例: us-central1
  • BIGTABLE_PROJECT_ID: データを読み取る Bigtable インスタンスの Google Cloud プロジェクトの ID
  • INSTANCE_ID: テーブルが含まれている Bigtable インスタンスの ID
  • TABLE_ID: エクスポートする Bigtable テーブルの ID
  • APPLICATION_PROFILE_ID: エクスポートに使用される Bigtable アプリケーション プロファイルの ID。
  • SOURCE_PATTERN: データが存在する Cloud Storage パスのパターン(例: gs://mybucket/somefolder/prefix*

次のステップ