プロバイダーデータ分析

デフォルトのclean room構成では、コンシューマーのみがclean room内で分析を実行できます。ただし、プロバイダーは、特定のclean roomでコンシューマーデータを使用してテンプレートを実行する許可をコンシューマーにリクエストできます。プロバイダーが実行する分析は、clean room UI またはコードのいずれかを使用して有効にし、実行することができます。

サポートされるテンプレート

プロバイダーが実行する分析は、特定のclean room内で、テンプレートレベルで有効になります。以下のテンプレートは、プロバイダーが実行する分析をサポートします:

  • Overlap & Segmentation Analysis

  • SQL クエリ (UI のみ)

  • カスタムテンプレート (API のみ)

請求について

clean roomでの、プロバイダーが実行する分析の費用は、コンシューマーに請求されます。プロバイダーの分析による追加コストを避けるためには、コンシューマーがclean roomをアンインストールする必要があります。

コンシューマーは以下のクエリを実行することで、過去 N 日間(不の数で指定します)にプロバイダーによって消費されたクレジット数を見積もることができます。

-- Estimate the number of credits consumed in the past 5 days.
SELECT * FROM TABLE(SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.LIBRARY.PRA_CONSUMPTION_UDTF(-5));
Copy

ウェアハウスのサイズの選択

Clean roomはデータセットのサイズをベースとした自動スケーリングロジックを使用し、分析用のウェアハウスを選択します。ただし、プロバイダーはウェアハウスのサイズを、コンシューマーによって許可されたサイズとタイプのリストから明示的に選択できます。プロバイダーはウェアハウスのサイズを以下の方法で選択します:

  1. コンシューマーが consumer.enable_templates_for_provider_run を呼び出し、ウェアハウスのどのサイズとタイプを、どのテンプレートに対して許可するかを指定します。

  2. プロバイダーが provider.view_warehouse_sizes_for_template を呼び出し、ウェアハウスのどのサイズとタイプが、プロバイダーが実行する分析で許可されているかを確認します。

  3. プロバイダーが、分析リクエスト (provider.submit_analysis_request) で使用するサイズとタイプの組み合わせを指定します。

プロバイダーがリクエストできるのは、コンシューマーが明示的にリストアップしたウェアハウスのサイズとタイプのみです。

コンシューマー

CALL samooha_by_snowflake_local_db.CONSUMER.enable_templates_for_provider_run(
  $cleanroom_name,
  [$template1, $template2],
  TRUE,
  {
    $template1: {'warehouse_type': 'STANDARD', 'warehouse_size': ['MEDIUM', 'LARGE']},
    $template1: {'warehouse_type': 'SNOWPARK-OPTIMIZED', 'warehouse_size': ['MEDIUM', 'XLARGE']},
    $template2: {'warehouse_type': 'STANDARD', 'warehouse_size': ['MEDIUM', 'XLARGE']}
  });
Copy

プロバイダー

CALL samooha_by_snowflake_local_db.PROVIDER.VIEW_WAREHOUSE_SIZES_FOR_TEMPLATE($cleanroom_name, $template_name, $consumer_account_loc);
CALL samooha_by_snowflake_local_db.provider.submit_analysis_request(
  $cleanroom_name,
  $consumer_locator_id,
  $template1,
  ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
  ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
  object_construct(
    'dimensions', ['c.REGION_CODE'],
    'measure_type', ['AVG'],
    'measure_column', ['c.DAYS_ACTIVE'],
    'warehouse_type', 'STANDARD',        -- If this type and size pair were not listed by view_warehouse_sizes_for_template,
    'warehouse_size', 'LARGE'            -- the request will automatically fail.
  ));
Copy

プロバイダーが実行する分析の実装

Tip

コンシューマーとプロバイダーが異なるクラウドリージョンにある場合、両方のアカウントと両方のclean roomで Cross-Cloud Auto-Fulfillment を有効にする必要があります。

clean roomでのクエリ実行の許可は、clean room UI で、clean roomの構成フローにある Share clean room パネルの Enable run analysis & query トグルを使用して管理します。clean roomのプロバイダーは、そのパネルで自分のアカウントの隣にあるトグルを使用して、プロバイダーが実行する分析を有効または無効にします。clean roomが作成された後に、このトグルを変更することはできません。公開されたclean roomでクエリを実行するために、特定のアカウントの権限を変更したい場合は、clean roomを削除し、新しく作成する必要があります。

プロバイダーが実行する分析を、新しいclean roomで有効にする手順を以下で説明します:

  1. プロバイダーが サポートされているテンプレート をいずれか使用し、clean roomを作成および構成します。

  2. プロバイダー分析をサポートするテンプレートを、このclean roomで実行するために、clean room構成の Share Clean Room ステップで、アカウントの隣にある Enable run analysis & query をオンに切り替えます。

  3. コンシューマーがclean roomに参加する際、そのclean roomでプロバイダーが実行する分析が有効であることが、参加前に警告されます。

  4. コンシューマーは、clean room内のすべてのテンプレート(プロバイダー分析をサポートするテンプレートを含む)に対し、通常の方法でclean roomを構成します。特定のテンプレートの実行を、コンシューマーがプロバイダーに許可したくない場合は、そのテンプレートに必要な詳細を省略することができます。プロバイダー分析をサポートするテンプレートは、コンシューマー分析もサポートします。

  5. コンシューマーがclean roomに参加し、構成した後に、 プロバイダーコンシューマー の両方が、通常の分析フローにより、テンプレートをclean roomで実行できます。

  6. プロバイダーが実行する分析の権限は、付与した後で取り消すことはできません。プロバイダーが実行する分析を停止させるには、プロバイダーまたはコンシューマーがclean roomを削除する以外に方法がありません。