複製と共有の機能

注釈

Snowflake Feature Store API は、Snowpark ML Pythonパッケージ(snowflake-ml-python)v1.5.0以降で利用可能です。

特徴量ストアのオブジェクトはSnowflakeオブジェクトとして実装されているため、レプリケーションと共有が可能です。

特徴量ストアの複製

特徴量ストアをレプリケートするには、そのスキーマを含むデータベースを複製します。データベースをレプリケートすると、特徴量ストアだけでなく、データベース内のすべてのスキーマが複製されることに注意してください。データベースのレプリケーションの詳細については、 複数のアカウント間にわたる複製とフェールオーバーの概要 をご参照ください。

特徴量ストアの共有

アカウント間で特徴量を共有するには、基盤となるスキーマを共有することで、特徴量ストア全体を共有します。これは、特徴量ストア内のすべての特徴量ビューを共有するため、共有する相手に応じて特徴量ビューを特徴量ストアに整理する必要があります。共有の詳細については、 Secure Data Sharingについて をご参照ください。

特徴量ビューの共有

また、個々の 特徴量ビュー を共有することも可能です。この場合、特徴量ストアが内部的に使用する関連タグも共有する必要があるため、追加の手順が必要になります。以下のステップは、1つの特徴量ビューを共有するものです。

  1. 以下の初期ブロックの変数を以下のように設定します。

    • FS_SHARE: 特徴量ビューを共有する共有名。

    • FS_DATABASE: 特徴量ストアを含むデータベースの名前。

    • FS_SCHEMA: 特徴量ビューを含むスキーマの名前。

    • FV_NAME: $ で区切られた特徴量ビューの名前とバージョン。例えば、特徴量ビューの名前が myfv でバージョンが v1 の場合、この値は myfv$v1 となります。

    • ENTITY_NAME: 特徴量ビューが属するエンティティ。

    SET FS_SHARE = '<fs_share_name>';
    SET FS_DATABASE = '<fs_database_name>';
    SET FS_SCHEMA = '<fs_schema_name>';
    SET FV_NAME = '<feature_view_name_with_version>';
    SET ENTITY_NAME = '<entity_name>';
    
    Copy
  2. 以下のステートメントを実行し、いくつかの中間変数を設定した後、必要な権限のほとんどを付与します。

    SET SCHEMA_FQN = CONCAT($FS_DATABASE, '.', $FS_SCHEMA);
    SET TAG_OBJECT_FQN = CONCAT($SCHEMA_FQN, '.', 'SNOWML_FEATURE_STORE_OBJECT');
    SET TAG_METADATA_FQN = CONCAT($SCHEMA_FQN, '.', 'SNOWML_FEATURE_VIEW_METADATA');
    SET FULL_ENTITY_NAME = CONCAT('SNOWML_FEATURE_STORE_ENTITY_', $ENTITY_NAME);
    SET ENTITY_FQN = CONCAT($SCHEMA_FQN, '.', $FULL_ENTITY_NAME);
    SET FV_FQN = CONCAT($SCHEMA_FQN, '.', $FV_NAME);
    
    -- Grant privileges to target share
    GRANT USAGE ON DATABASE IDENTIFIER($FS_DATABASE) TO SHARE IDENTIFIER($FS_SHARE);
    GRANT REFERENCE_USAGE ON DATABASE IDENTIFIER($FS_DATABASE) to SHARE IDENTIFIER($FS_SHARE);
    GRANT USAGE ON SCHEMA IDENTIFIER($SCHEMA_FQN) TO SHARE IDENTIFIER($FS_SHARE);
    GRANT READ ON TAG IDENTIFIER($TAG_OBJECT_FQN) TO SHARE IDENTIFIER($FS_SHARE);
    GRANT READ ON TAG IDENTIFIER($TAG_METADATA_FQN) TO SHARE IDENTIFIER($FS_SHARE);
    GRANT READ ON TAG IDENTIFIER($ENTITY_FQN) TO SHARE IDENTIFIER($FS_SHARE);
    
    Copy
  3. 最後に、共有する特徴量ビューのタイプに応じて、以下の2つのステートメントのいずれかを実行します。