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 の同期を有効にするには、次の手順を行います。

Console

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

    Dataproc Metastore に移動

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

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

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

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

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

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

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

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

Console

  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 関数(タグを使用するなど)。

次のステップ