サービスからのメタデータのエクスポート

エクスポートによって Dataproc Metastore サービスに格納されたメタデータが取得され、Avro ファイルのフォルダまたは Cloud Storage フォルダ内の MySQL ダンプファイルが返されます。Avro のエクスポートでは、テーブルごとにファイル <table-name>.avro が作成されます。

このページでは、ローカル ブラウザで開かれた Google Cloud Console、Cloud SDK の gcloud コマンドライン ツール、または Dataproc Metastore API メソッドの services.exportMetadata を使用して、既存の Dataproc Metastore サービスからのメタデータをエクスポートする方法について説明します。

始める前に

  • 大部分の gcloud metastore コマンドでは、ロケーションを指定する必要があります。ロケーションは、--location フラグを使用するかデフォルトのロケーションを設定することで指定できます。

アクセス制御

  • メタデータをエクスポートするには、metastore.services.export IAM 権限を含む IAM ロールを付与する必要があります。Dataproc Metastore 固有のロール roles/metastore.adminroles/metastore.editorroles/metastore.metadataOperator がエクスポート権限を付与に使用できます。

  • また、従来のロールの roles/ownerroles/editor も、ユーザーやグループへのエクスポート権限の付与に使用できます。

  • Dataproc Metastore サービス エージェント(service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com)には、エクスポート先の Cloud Storage バケットに対する storage.objects.create 権限が必要です。

    • また、エクスポートを作成するユーザーには、バケットに対する storage.objects.create 権限も必要です。
  • VPC Service Controls を使用している場合、Dataproc Metastore サービスと同じサービス境界にある Cloud Storage バケットに対してだけデータをエクスポートできます。

詳細については、Dataproc Metastore IAM とアクセス制御をご覧ください。

サービスからのメタデータのエクスポート

ローカル ブラウザで開いたサービスの詳細ページでエクスポート先を選択するか、gcloud ツールを使用するか、Dataproc Metastore API メソッドの services.exportMetadata を実行することで、サービスからメタデータをエクスポートできます。

エクスポートの実行中は、サービスを更新できません。サービスは、エクスポート中でも使用できます。

Dataproc Metastore サービスからメタデータをエクスポートするには、次のように Google Cloud Console、gcloud ツール、または Dataproc Metastore API を使用します。

Console

  1. Cloud Console で、Dataproc Metastore ページを開きます。

    Cloud Console で Dataproc Metastore を開く

  2. Dataproc Metastore ページで、メタデータをエクスポートするサービスの名前をクリックします。サービスの詳細ページが開きます。

    サービスの詳細ページ
  3. ページ上部にある [EXPORT] ボタンをクリックします。[Export metadata] ページが開きます。

  4. [送信先] を選択します。

  5. エクスポートを保存する Cloud Storage URI を [BROWSE] して選択します。

  6. [送信] ボタンをクリックしてエクスポートを開始します。

  7. サービスの詳細ページに戻り、[IMPORT / EXPORT] タブの [Export history] の下にエクスポートが表示されていることを確認します。

gcloud

  1. 次の gcloud metastore services export gcs コマンドを使用して、サービスからメタデータをエクスポートします。

    gcloud metastore services export gcs SERVICE  \
        --location=LOCATION \
        --destination-folder=gs://bucket-name/path/to/folder \
        --dump-type=DUMP_TYPE
    

    以下を置き換えます。

    • SERVICE: サービスの名前。
    • LOCATION: Google Cloud リージョンを指します。
    • bucket-name/path/to/folder: Cloud Storage の宛先フォルダを参照します。
    • DUMP_TYPE: データベース ダンプのタイプ。デフォルトは mysql です。
  2. エクスポートが正常に終了したことを確認します。

REST

API Explorer を使用して API の手順に従い、サービスにメタデータをエクスポートします。

エクスポートが完了すると、エクスポートが正常に終了したかどうかにかかわらず、サービスは自動的にアクティブ状態になります。

サービスのエクスポート履歴を表示するには、Cloud Console でサービスの詳細ページの [IMPORT / EXPORT] タブを開きます。

エクスポートに関する注意事項

  • 過去のエクスポートの履歴が UI に表示されます。サービス自体を削除すると、そのサービスのすべてのエクスポート履歴が削除されます。

よくある間違い

  • Dataproc Metastore サービス エージェント(service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com)には、Avro または MySQL のダンプファイルに使用される Cloud Storage バケットに対する storage.objects.create 権限がありません。

    • エクスポートを作成するユーザーには、バケットに対する storage.objects.create 権限が付与されていません。
  • データベース ファイルが大きすぎるため、エクスポート処理を完了するには 1 時間を超える時間を要します。

次のステップ