Dataproc Metastore からメタデータをエクスポートする

このページでは、Dataproc Metastore からメタデータをエクスポートする方法について説明します。

エクスポート メタデータ機能を使用すると、メタデータをポータブル ストレージ形式で保存できます。

データをエクスポートしたら、別の Dataproc Metastore サービスまたはセルフマネージド Hive メタストア(HMS)にメタデータをインポートできます。

メタデータのエクスポートについて

Dataproc Metastore からメタデータをエクスポートすると、サービスは次のいずれかのファイル形式でデータを保存します。

  • フォルダに保存された一連の Avro ファイル。
  • Cloud Storage フォルダに格納された単一の MySQL ダンプファイル。

Avro

Avro ベースのエクスポートは、Hive バージョン 2.3.6 と 3.1.2 のみでサポートされています。Avro ファイルをエクスポートすると、Dataproc Metastore はデータベース内の各テーブルに対して <table-name>.avro ファイルを作成します。

Avro ファイルをエクスポートするには、Dataproc Metastore サービスで MySQL または Spanner データベース タイプを使用できます。

MySQL

MySQL ベースのエクスポートは、Hive のすべてのバージョンでサポートされています。MySQL ファイルをエクスポートすると、Dataproc Metastore はすべてのテーブル情報を含む単一の SQL ファイルを作成します。

MySQL ファイルをエクスポートするには、Dataproc Metastore サービスで MySQL データベース タイプを使用する必要があります。Spanner データベース タイプは MySQL のインポートをサポートしていません。

始める前に

必要なロール

メタデータを Dataproc Metastore にエクスポートするために必要な権限を取得するには、管理者に次の IAM ロールを付与するよう依頼してください。

ロールの付与の詳細については、アクセスの管理をご覧ください。

これらの事前定義ロールには、Dataproc Metastore にメタデータをエクスポートするために必要な権限が含まれています。必要な権限を正確に確認するには、[必要な権限] セクションを開いてください。

必要な権限

Dataproc Metastore にメタデータをエクスポートするには、次の権限が必要です。

  • メタデータをエクスポートするには、メタストア サービスの metastore.services.export を使用します。
  • MySQL と Avro の場合、Cloud Storage オブジェクトをエクスポートに使用するには、ユーザー アカウントと Dataproc Metastore サービス エージェントに Cloud Storage バケットに対する storage.objects.create を付与します。

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

Dataproc Metastore の特定のロールと権限については、Dataproc Metastore IAM の概要をご覧ください。

ExportMetadata

メタデータをエクスポートする前に、次の点を考慮してください。

  • エクスポートの実行中に、Dataproc Metastore サービスを更新することはできません(構成設定の変更など)。ただし、接続された Dataproc やセルフマネージド クラスタからメタデータにアクセスするために使用するなど、通常のオペレーションに引き続き使用できます。
  • メタデータ エクスポート機能は、メタデータのみをエクスポートします。内部テーブルにある Apache Hive によって作成されたデータは、エクスポートで複製されません。

Dataproc Metastore サービスからメタデータをエクスポートするには、次の操作を行います。

Console

  1. Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。

    Dataproc Metastore を開く

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

    サービスの詳細ページが開きます。

    サービスの詳細ページ
    Dataproc Metastore サービスの詳細ページ
  3. ナビゲーション バーで [エクスポート] をクリックします。

    [Export metadata] ページが開きます。

  4. [送信先] セクションで、[MySQL] または [Avro] を選択します。

  5. [宛先 URI] フィールドで、[参照] をクリックして、ファイルをエクスポートする Cloud Storage URI を選択します。

    テキスト フィールドにバケットの場所を入力することもできます。bucket/object 形式または bucket/folder/object 形式を使用します。

  6. エクスポートを開始するには、[送信] をクリックします。

    エクスポートが完了すると、[インポート / エクスポート] タブの [サービスの詳細] ページの表にエクスポートが表示されます。

    エクスポートが正常に完了したかどうかに関係なく、エクスポートが完了すると、Dataproc Metastore は自動的にアクティブな状態に戻ります。

gcloud CLI

  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: Dataproc Metastore サービスの名前。
    • LOCATION: Dataproc Metastore サービスが存在する Google Cloud リージョン。
    • bucket-name/path/to/folder: エクスポートを保存する Cloud Storage 上の出力先フォルダ。
    • DUMP_TYPE: エクスポートによって生成されるデータベース ダンプのタイプ。指定できる値は mysqlavro です。 デフォルト値は mysql です。
  2. エクスポートが正常に終了したことを確認します。

    エクスポートが正常に完了したかどうかに関係なく、エクスポートが完了すると、Dataproc Metastore は自動的にアクティブな状態に戻ります。

REST

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

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

エクスポート履歴を表示する

Google Cloud コンソールで Dataproc Metastore サービスのエクスポート履歴を表示するには、次の手順を実行します。

  1. Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
  2. ナビゲーション バーで、[インポート / エクスポート] をクリックします。

    エクスポート履歴が [エクスポート履歴] テーブルに表示されます。

    履歴には、最新の 25 件のエクスポートが表示されます。

Dataproc Metastore サービスを削除すると、関連付けられているすべてのエクスポート履歴も削除されます。

一般的な問題のトラブルシューティング

一般的な問題としては、次のようなものがあります。

一般的な問題の解決方法については、インポートとエクスポートのエラー シナリオをご覧ください。

次のステップ