セルフマネージド MySQL メタストアを Dataproc Metastore に移行する

このページでは、MySQL ダンプファイルを作成し、既存の Dataproc Metastore サービスにメタデータをインポートすることで、外部のセルフマネージド MySQL メタストアを Dataproc Metastore に移行する方法について説明します。

始める前に

  1. アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Dataproc Metastore API を有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。詳しくは、ロールを付与する方法をご覧ください。

    API の有効化

必要なロール

Dataproc Metastore の作成と MySQL メタストアのインポートに必要な権限を取得するには、管理者に次の IAM のロールを付与するよう依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

これらの事前定義ロールには Dataproc Metastore の作成と MySQL メタストアのインポートに必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

Dataproc Metastore を作成して MySQL メタストアをインポートするには、次の権限が必要です。

  • サービスを作成するには: プロジェクトに対する。metastore.services.create
  • メタデータをインポートするには: プロジェクトに対する metastore.imports.create
  • インポートに Cloud Storage オブジェクト(SQL ダンプファイル)を使用するには:
    • Dataproc Metastore サービス エージェントに対する storage.objects.get。例: service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com
    • ユーザー アカウントに対する storage.objects.get

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

Dataproc Metastore の特定のロールと権限については、IAM を使用した Managed Service for Apache Spark のアクセス管理をご覧ください。

Dataproc Metastore サービスを作成する

次の手順では、SQL ダンプファイルの移行先となる Dataproc Metastore サービスを作成する方法を説明します。

コンソール

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

    [サービスの作成] に移動

    [Create service] ページ。
    Dataproc Metastore の [サービスの作成] ページ
  2. [サービス名] フィールドに「example-service」と入力します。

  3. [Data location] を選択します。 リージョンの選択については、Cloud のロケーションをご覧ください。

  4. その他のサービス構成オプションには、指定されたデフォルト値を使用します。

  5. サービスを作成して開始するには、[送信] ボタンをクリックします。

サービスの一覧に新しいサービスが表示されます。

gcloud

次のgcloud metastore services createコマンドを実行してサービスを作成します。

 gcloud metastore services create example-service \
     --location=LOCATION
 

LOCATION は、サービスを作成する予定の Compute Engine のリージョンに置き換えます。そのリージョンで Dataproc Metastore が利用可能であることを確認します。

REST

API Explorer を使用し、API の手順に従ってサービスを作成します。

移行の準備を行う

MySQL ダンプファイルを作成して Cloud Storage バケットに配置することで、Hive メタストア データベースに保存されているインポート用メタデータを準備する必要があります。

移行の準備手順については、インポートの前にインポート ファイルを準備する をご覧ください。

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

これでダンプの準備ができたので、ダンプを Dataproc Metastore サービスにインポートします。

example-service サービスにメタデータをインポートする手順については、ファイルを Dataproc Metastore にインポートする をご覧ください。

Managed Service for Apache Spark クラスタを作成して接続する

Dataproc Metastore example-service サービスにメタデータをインポートしたら、そのサービスを Hive メタストアとして使用する Managed Service for Apache Spark クラスタ を作成して接続します。

クリーンアップ

このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、 次の手順を実施します。

  1. コンソールで [**リソースの管理**] ページに移動します。 Google Cloud

    [リソースの管理] に移動

  2. 削除するプロジェクトが組織に関連付けられている場合は、[名前] 列の [組織] リストを展開します。
  3. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  4. ダイアログでプロジェクト ID を入力し、 [Shut down] をクリックしてプロジェクトを削除します。

あるいは、このチュートリアルで使用したリソースを削除することもできます。

  1. Dataproc Metastore サービスを削除します。

    コンソール

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

      コンソール Google Cloud で Dataproc Metastore を開く

    2. サービス名の左側にあるチェックボックスをオンにして、example-service を選択します。

    3. [Dataproc Metastore] ページの上部にある [削除] をクリックして、そのサービスを削除します。

    4. ダイアログで [Delete] をクリックして、削除を確定します。

    サービスがサービスの一覧に表示されなくなります。

    gcloud

    次の gcloud metastore services delete コマンドを実行して、サービスを削除します。

     gcloud metastore services delete example-service \
         --location=LOCATION

    LOCATION は、そのサービスを作成した Compute Engine のリージョンに置き換えます。

    REST

    API Explorer を使用し、API の手順に従ってサービスを削除します。

    削除はすべてすぐに正常終了します。

  2. Dataproc Metastore サービスの Cloud Storage バケットを削除します

次のステップ