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

エクスポートでは、Dataproc Metastore サービスに保存されているメタデータが取り込まれ、Avro ファイルのフォルダか Cloud Storage フォルダ内の MySQL ダンプファイルが返されます。Avro のエクスポートの場合、Dataproc Metastore ではテーブルごとに <table-name>.avro ファイルが作成されます。Avro ベースのエクスポートは、Hive バージョン 2.3.6 と 3.1.2 でサポートされています。

このページでは、既存の 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 サービスからメタデータをエクスポートするには、次の操作を行います。

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] タブを開きます。

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

  • Avro ベースのエクスポートは、Hive バージョン 2.3.6 と 3.1.2 でサポートされています。

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

よくある間違い

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

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

次のステップ