チュートリアル: Snowflake Data Clean Roomのウェブアプリをはじめる¶
概要¶
Snowflakeデータクリーンルーム は、機密データのコラボレーションを可能にする暗号化されたセキュアな環境です。データのプライバシーを維持しながら、そのデータを使って何ができるかを厳密に管理することで、データをコラボレーターと共有できるようにします。
このチュートリアルでは、ウェブアプリを使って Snowflake Data Clean Room を操作する基本的な流れを説明します。
学習内容¶
このチュートリアルでは、ウェブアプリで以下の作業を行う方法を学びます。
クリーンルーム環境にコラボレーターを追加する
クリーンルームの作成(データの追加方法、結合ポリシーの指定、コラボレーターがデータに対して実行できる分析タイプの定義、コラボレーターとのクリーンルーム共有など)。
クリーンルームを設置し、データを追加し、このデータをコラボレーターのデータとどのように結合するかを定義する。
クリーンルームで許可されている内容に基づいて新しい分析を作成し、分析に関連するパラメータを指定する方法など、分析を実行する。
分析結果をアクティブ化する。
クリーンルームのコラボレーターについて¶
クリーンルームのコラボレーターはプロバイダーかコンシューマーです。
プロバイダー とは、他のクリーンルームコラボレーションとデータを共有するエンティティのことです。共有するデータのプライバシーを維持するために、クリーンルームを作り、設定します。
コンシューマー とは、クリーンルームを使用して共有データと対話するエンティティのことです。コンシューマーはクリーンルーム内でデータを分析したりクエリしたりすることができます。
このチュートリアルでは、クリーンルームのプロバイダーとコンシューマーの両方の役割を見ていきます。
前提条件¶
このチュートリアルを完了する前に、管理者はクリーンルーム環境を設定し、それに関連するSnowflakeアカウントを設定する必要があります。これはプロバイダーアカウントとコンシューマーアカウントの両方で行う必要があります。これらのアクションの実行方法の詳細については、 Snowflake Data Clean Rooms 入門 をご参照ください。
このチュートリアルの目的のためにコンシューマーとして振る舞うには、2つ目のクリーンルームに関連付けられた2つ目のSnowflakeアカウントにアクセスする必要があります。これにより、コンシューマーがどのようにクリーンルームを設置し、使用するかを模倣することができます。セカンドアカウントをお持ちでない場合でも、このチュートリアルでクリーンルームの作成、設定、共有方法を学ぶことができます。
あなたがクリーンルームをセットアップした管理者でない場合、クリーンルームの管理者もウェブアプリの ユーザーとして自身を追加 する必要があります。クリーンルーム環境の管理者ユーザーである必要があります。
プロバイダーとしてウェブアプリにサインインします。¶
このセクションでは、プロバイダーとしてクリーンルームを作成、設定、共有するクリーンルームにサインインします。
プロバイダーとしてウェブアプリにサインインするには:
Snowflake Data Clean Roomsのログインページ に移動します。
このチュートリアルでは、管理者ロールを持つユーザーである必要があります。
メールアドレスを入力し、 Continue を選択します。
パスワードを入力してください。
複数のクリーンルーム環境に関連している場合は、プロバイダーアカウントとして使用するSnowflakeアカウントを選択します。
コラボレーターとしてコンシューマーを追加する¶
このセクションでは、このチュートリアルで使用するコンシューマアカウントをコラボレーターとして追加します。管理者は、他のユーザーがそのコラボレーターとクリーンルームを共有する 前 に、1人の人物をコラボレーターとして定義する必要があります。
コンシューマーをコラボレーターとして追加するには
左側のナビゲーションで Collaborators を選択します。
Snowflake Partners タブを選択します。
+ Snowflake Partner を選択します。
Company Name フィールドに、
Tutorial Consumer
を入力します。Email Address フィールドに、クリーンルームユーザーに関連するメールを入力してください。
Account Locator フィールドに、コンシューマー体験をシミュレートするために使用するSnowflakeアカウントの アカウントロケーター を入力します。
コンシューマー体験をシミュレートするために使用するアカウントのクラウドとリージョンを選択します。
Add を選択します。
コンシューマーとしてウェブアプリにサインインする¶
このセクションでは、クリーンルームを作成し共有するプロバイダーから、クリーンルームを設置するコンシューマーに切り替えます。コンシューマーが自分のアカウントにクリーンルームをインストールして使用する方法を模倣するために、別のアカウントにクリーンルームをインストールします。
コンシューマーとしてウェブアプリにサインインするには:
メールアドレスを入力し、 Continue を選択します。
パスワードを入力してください。
複数のクリーンルーム環境に関連している場合は、コンシューマアカウントとして使用するSnowflakeアカウントを選択します。
クリーンルームのインストールと構成¶
このセクションでは、以下を実行します。
プロバイダーアカウントから共有されたクリーンルームをインストールします。
クリーンルームにデータを追加し、プロバイダーのデータと結合できるようにします。
コンシューマデータとプロバイダーデータの関連性を定義する結合ポリシーを追加します。
アナリストがセグメントを作成し、結果をフィルタリングし、アクティブ化データを強化させるために使用できる列を定義します。
インストール プロセスを開始する¶
プロバイダーアカウントで共有されているクリーンルームのインストールを開始します。
左側のナビゲーションで Clean Rooms を選択します。
Invited タブを選択します。
Tutorial
タイルを見つけ、 Join を選択します。
クリーンルームにコンシューマーデータを追加する¶
クリーンルームにデータを追加するには:
Datasource セクションで、
Snowflake
を選択します。Tables ドロップダウンリストから、
DEMO.CUSTOMERS
テーブルを選択します。このテーブルはSAMOOHA_SAMPLE_DATABASE
データベースの下にあります。Next を選択します。
結合ポリシーの定義¶
コンシューマーは結合ポリシーを使用して、分析またはクエリで結合する列を指定し、プロバイダーテーブルとコンシューマーテーブルの関係を定義します。
結合ポリシーを定義するには:
コンシューマーのテーブル (My Columns) の列とプロバイダーのテーブル (Collaborator Columns) の列が一致していることを確認します。例えば、コンシューマーの
HASHED_EMAIL
列はプロバイダーのHASHED_EMAIL
列と結合する必要があります。クリーンルームを作成する際、コラボレーターがこれらの列にのみ結合できるように指定されました。Next を選択します。
セグメンテーションとアクティブ化列の定義¶
クリーンルームのインストールプロセスでセグメンテーション列とアクティブ化列を選択すると、クリーンルームで分析を実行するユーザーが利用できる列が定義されます。アナリストはこれらの列に基づいてのみセグメントを作成できます。活性化データをプロバイダーに送り返す際、アナリストはこれらの列のいずれかに由来するデータでない限り、分析結果の強化に使用できません。
セグメンテーションとアクティブ化列を定義するには:
Tables ドロップダウンリストから、
DEMO.CUSTOMERS
テーブルを選択します。Segmentation & Activation Columns ドロップダウンリストから、以下の列を選択します。
INCOME_BRACKET
REGION_CODE
STATUS
Finish を選択します。
クリーンルームがインストールされるまで待ってからこのチュートリアルを続行してください。
Tutorial
のタイルが Processing から Run に変わるまで、定期的に Refresh を選択します。
分析の実行¶
このセクションでは、クリーンルームにおけるオーディエンスのオーバーラップとセグメンテーション分析を行います。
分析を実行するには:
左側のナビゲーションで Clean Rooms を選択します。
Joined タブを選択します。
Tutorial
タイルを見つけ、 Run を選択します。Audience Overlap & Segmentation
タイルを選択してから、 Proceed を選択します。My Tables で、
Customers
を選択します。Collaborator Table で、
Customers
を選択します。My Join Columns で、以下の結合を定義します。
ドロップダウンリストから、
HASHED_EMAIL
を選択します。+ Join Column を選択してから、
HASHED_FIRST_NAME
およびHASHED_LAST_NAME
を選択します。+ Join Column を選択してから、
HASHED_PHONE
を選択します。
クリーンルームで分析を実行すると、以下のi いずれか に当てはまる記録が結果に含まれます。
コンシューマーのテーブルの
HASHED_EMAIL
は、プロバイダーのテーブルのHASHED_EMAIL
と一致します。コンシューマーの
HASHED_FIRST_NAME
はプロバイダーのHASHED_FIRST_NAME
と一致し、 そして コンシューマーのHASHED_LAST_NAME
はプロバイダーのHASHED_LAST_NAME
と一致します。コンシューマーの
HASHED_PHONE
はプロバイダーのHASHED_PHONE
と一致します。
User Segmentation セクションで、次の操作を実行します。
My Columns ドロップダウンリストから、
INCOME_BRACKET
を選択します。Collaborator Columns ドロップダウンリストから、
AGE_BAND
を選択します。
分析結果はこれらのセグメントにグループ化されます。
Filters セクションでは、ドロップダウンリストを使って
DEMO.CUSTOMERS.STATUS = GOLD
を定義します。必ず色分けをして、コンシューマーアカウントで列を選択してください (My Columns
)。分析結果に含めるには、コンシューマーテーブルの記録の
STATUS
がGOLD
である必要があります。Run を選択します。
Results セクションを使用して、結果を表示します。結果メトリクスは、一致率と重複回数の間で切り替えることができます。
分析のセグメンテーショングループを見るには、 Download を選択し、カンマ区切りファイルを開きます。
チュートリアルの次のステップに進み、アクティブ化のために強化された結果をプロバイダーに返します。
結果の有効化¶
このセクションでは、分析結果をプロバイダーのSnowflakeアカウントにプッシュバックすることで有効化します。これらの結果は、コンシューマーテーブルとプロバイダーテーブルからのデータで強化されます。
分析結果を有効にするには:
Results セクションで、 Activate を選択します。
クリーンルームの共有に使用したプロバイダーアカウント名を選択します。
Segment Name フィールドには
Provider Snowflake Account
を指定します。ID Columns ドロップダウンリストから、
HASHED_EMAIL
を選択します。Attribute Columns ドロップダウンリストから、 Select All を選択します。プロバイダーが分析結果を見るとき、一致した記録はこれらの列で見つかった追加データで強化されます。
利用可能な列は、クリーンルームを設定する際にプロバイダーとして選択したセグメンテーションとアクティブ化の列と、クリーンルームをインストールする際にコンシューマーとして選択したセグメンテーションとアクティブ化の列と同じであることがわかります。
Push Data を選択します。
おめでとうございます。これで、コンシューマーアカウントにクリーンルームをインストールして設定し、分析を実行し、プロバイダーアカウントに結果をプッシュバックしてアクティブ化が行われました。
プロバイダーとしてアクティブ化データを表示する¶
このセクションでは、プロバイダーのロールに戻り、コンシューマーのアクティブ化結果を表示します。コンシューマーのアクティブ化データは、プロバイダーのSnowflakeアカウントの SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.PUBLIC.PROVIDER_ACTIVATION_SUMMARY
テーブルに保存されます。
Snowsight を使用してこのテーブルをクエリする前に、クリーンルーム環境にサインインして、コンシューマーアカウントとプロバイダーアカウント間のパイプラインを作成する必要があります。
プロバイダーとしてクリーンルーム環境にサインインするには:
メールアドレスを入力し、 Continue を選択します。
パスワードを入力してください。
複数のクリーンルーム環境に関連している場合は、このチュートリアルでプロバイダーアカウントとして使用したSnowflakeアカウントを選択します。
パイプラインが正常に構築されると、 SQL クエリを使用するか、 Snowsight のデータベースオブジェクトエクスプローラを使用して、アクティブ化データを表示できます。
プロバイダーアカウントの Snowsight にサインインします。クリーンルーム環境ではなく、Snowflakeアカウントにサインインしています。
左側のナビゲーションで Data » Database を選択します。
SAMOOHA_BY_SNOWFLAKE_LOCAL_DB
»PUBLIC
»Tables
»PROVIDER_ACTIVATION_SUMMARY
に移動します。アクティブ化データを表示するには、 Data Preview を選択します。
プロバイダーアカウントの Snowsight にサインインします。クリーンルーム環境ではなく、Snowflakeアカウントにサインインしています。
Projects » Worksheets を開きます。
+ » SQL Worksheet を選択します。
新しいワークシートに以下のステートメントを貼り付けて実行し、コンシューマーのクリーンルーム環境からプッシュされたアクティブ化データをリストアップしてください。
SELECT * FROM samooha_by_snowflake_local_db.public.provider_activation_summary WHERE segment = 'Provider Snowflake Account';
クリーンアップする¶
このチュートリアルのために作成したクリーンルームとアクティブ化データを削除して、本番環境をクリーンアップすることができます。
アクティブ化データの削除¶
プロバイダーのSnowflakeアカウントからアクティブ化データを削除するには:
プロバイダーアカウントの Snowsight にサインインします。クリーンルーム環境ではなく、Snowflakeアカウントにサインインしています。
Projects » Worksheets を開きます。
+ » SQL Worksheet を選択します。
新しいワークシートに以下のステートメントを貼り付けて実行し、このチュートリアル用に作成したアクティブ化データを削除します。
DELETE FROM samooha_by_snowflake_local_db.public.provider_activation_summary WHERE segment = 'Provider Snowflake Account';
クリーンルームの削除¶
プロバイダーアカウントでクリーンルームを削除すると、プロバイダーアカウントとコンシューマーアカウントの両方から削除されます。
クリーンルームを削除するには:
メールアドレスを入力し、 Continue を選択します。
パスワードを入力してください。
プロバイダーアカウントとして使用したSnowflakeアカウントを選択します。
左側のナビゲーションで Clean Rooms を選択します。
Delete を選択します。
Proceed を選択します。
詳細¶
おめでとうございます。これで、これでプロバイダーとしてクリーンルームを作成し、共有するためのウェブアプリケーションを使用することができました。あなたはまた、プライバシーが守られた環境でデータを分析するためにクリーンルームを利用するコンシューマーでもあります。
詳しくは以下のリソースを使用できます。
一般的な情報については、 Snowflake Data Clean Rooms について をご参照ください。
ウェブアプリの詳細については、 Snowflake Data Clean Rooms:ウェブアプリの概要 をご参照ください。
デベロッパー APIs を使ってプログラム的に Snowflake Data Clean Room を操作する方法については、 Snowflake Data Clean Rooms:開発者APIs概要 をご参照ください。