复制和共享功能

备注

Snowflake 特征平台 API 在 Snowpark ML Python 包 (snowflake-ml-python) v1.5.0 及更高版本中提供。

由于特征平台对象是作为 Snowflake 对象实现的,因此它们支持复制和共享。

复制特征平台

要复制特征平台,请复制包含其架构的数据库。请注意,复制数据库会复制数据库中的所有架构,而不仅仅是特征平台。有关 Database Replication 的详细信息,请参阅 跨多个账户的复制和故障转移简介

共享特征平台

若要跨账户共享特征,请通过共享底层架构来共享整个特征平台。 这会共享特征平台中的所有特征视图,因此您可能希望根据共享对象将特征视图整理到特征平台中。有关共享的详细信息,请参阅 关于 Secure Data Sharing

共享特征视图

也可以共享单个 特征视图。此操作需要额外的步骤,因为您还必须共享特征平台内部使用的关联标签。 以下步骤共享一个特征视图。

  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. 最后,根据共享的特征视图类型执行以下两条语句之一。

语言: 中文