Dataproc Metastore を Data Catalog に同期する

このドキュメントでは、Dataproc Metastore メタデータを Data Catalog と同期する方法について説明します。

これら 2 つのサービスを同時に同期すると、Data Catalog を使用して Dataproc Metastore のメタデータを管理できます。たとえば、Data Catalog を使用すると、データベースやテーブルなどの特定の Dataproc Metastore リソースにタグを付けて検索できます。

Data Catalog とは

Data Catalog は、フルマネージドでスケーラブルなメタデータ管理サービスです。これは、技術とビジネス関連のメタデータの統合ビューとタグ付けメカニズムを提供します。

詳細については、次の Data Catalog 機能ガイドをご覧ください。

準備

必要なロール

Dataproc Metastore メタデータを Data Catalog と同期するために必要な権限を取得するには、最小権限の原則に基づいて、プロジェクトに対する Data Catalog で同期された Dataproc Metastore エントリを表示するroles/metastore.metadataViewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与の詳細については、アクセスの管理をご覧ください。

この事前定義ロールには、Dataproc Metastore メタデータを Data Catalog と同期するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

Dataproc Metastore メタデータを Data Catalog と同期するには、次の権限が必要です。

  • Dataproc Metastore データベースを取得するには: metastore.databases.get
  • Dataproc Metastore データベースを一覧表示するには: metastore.databases.list
  • Dataproc Metastore テーブルを取得するには: metastore.tables.get
  • Dataproc Metastore テーブルを一覧表示するには: metastore.tables.list

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

Dataproc Metastore の特定のロールと権限については、IAM によるアクセス管理をご覧ください。

サービス間の権限の仕組み

Data Catalog は、Dataproc Metastore レベルの権限に従いますDataproc Metastore から Data Catalog に同期されるメタデータについては、Dataproc Metastore で指定された IAM 権限は、Data Catalog のメタデータにも適用されます。

Data Catalog はアクセス時に各メタストア データベースとテーブルの権限をチェックし、Dataproc Metastore サービスにアクセスできるユーザーのみが、同期されたサービス リソースを Data Catalog のエントリとして表示できるようにします。

Data Catalog と Dataproc Metastore の同期の仕組み

Google Cloud コンソールを使用して Dataproc Metastore サービスを作成または更新する際に、Dataproc Metastore から Data Catalog への同期を有効にできます。同じ方法で同期を無効にできます。

Data Catalog の同期を有効にすると、データベースとテーブルのメタデータが Dataproc Metastore から Data Catalog に自動的に同期されます。

Data Catalog は、次のメタデータを同期します。

  • Instances.
  • データベース(名前や説明など)。
  • 名前、説明、スキーマ(説明付きの列)を含むテーブル。

次の表に、Dataproc Metastore と Data Catalog の間のリソース マッピングを示しています。

Dataproc Metastore リソース Data Catalog リソース
インスタンス エントリ グループ
エントリ
データベース エントリ
テーブル エントリ
スキーマ

考慮事項

  • Dataproc Metastore メタデータが Data Catalog と完全に同期されるまでに、最長で 6 時間ほどかかる可能性があります。最初の同期が完了すると、増分変更がオンデマンドで同期されます(テーブルやデータベースの更新など)。オンデマンド同期が失敗した場合、同期は 6 時間ごとに行われるバッチ再実行に含まれます。

  • 同期に問題があると疑われる場合は、フィルタ textPayload=~".*Publish.*" を使用して、Dataproc Metastore Cloud Logging のメタデータ公開ログを確認します。ログへのアクセスの詳細については、Logging のジョブのログにアクセスするをご覧ください。

  • Data Catalog の同期を無効にすると、メタデータは Dataproc Metastore から Data Catalog への同期を停止します。ただし、すでに同期されているメタデータは Data Catalog に残ります。

  • Dataproc Metastore インスタンスを削除すると、対応するインスタンス、データベース、テーブルのエントリも Data Catalog から削除されます。

  • Data Catalog に格納されている Dataproc Metastore メタデータは、標準の Google Cloud 保持期間を遵守します。

  • Dataproc Metastore から Data Catalog への同期を有効にするための追加費用は発生しません。

Data Catalog の同期を有効にしたサービスを作成する

Data Catalog の同期はデフォルトで無効になっています。

新しいサービスの Data Catalog の同期を有効にするには、次の手順を行います。

コンソール

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

    Dataproc Metastore に移動

  2. [Dataproc Metastore] ページの上部にある [作成] をクリックします。

    [Create service] ページが開きます。

  3. 使用する Dataproc Metastore のバージョンを選択します。

  4. [メタデータの統合] で [Data Catalog の同期] をクリックします。

  5. 残りのサービス構成オプションには、指定されたデフォルトを使用します。 または、サービスを必要に応じて構成します

  6. [送信] をクリックします。

既存のサービスの Data Catalog の同期を有効または無効にする

既存のサービスの Data Catalog の同期を有効または無効にするには、次の手順を行います。

コンソール

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

    Dataproc Metastore に移動

  2. [Dataproc Metastore] ページで、更新するサービスをクリックします。

    対象サービスの [サービスの詳細] ページが開きます。

  3. [構成] タブで [編集] をクリックします。

    [Edit service] ページが開きます。

  4. [メタデータの統合] で、[Data Catalog の同期] をオンまたはオフにします。

  5. [送信] をクリックします。

Data Catalog で検索する

Data Catalog を使用して、同期された Dataproc Metastore のメタデータを検索できます。

Dataproc Metastore のカスタム検索オプションは存在しませんが、次のような異なる Dataproc Metastore リソースを検索するには複数の方法があります。

  • Dataproc Metastore インスタンス
    • 表示名を使用する
    • 標準 Data Catalog の関数 - たとえばタグを使用します。
  • データベース
    • 表示名を使用する
    • 説明文を使用する
    • Dataproc Metastore インスタンスを使用する
    • 標準 Data Catalog の関数 - たとえばタグを使用します。
  • テーブル
    • 表示名を使用する
    • 説明文を使用する
    • 列名を使用する
    • 列の説明文を使用する
    • データベースを使用する
    • Dataproc Metastore インスタンスを使用する
    • 標準 Data Catalog の関数 - たとえばタグを使用します。

次のステップ