这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

更改模型

您可以使用 ALTER MODEL 修改模型,以响应模型的需要。您可以通过重命名模型、更改所有者和更改架构来更改模型。

您可以删除或更改您创建的任何模型。

1 - 更改模型所有权

作为超级用户或模型所有者,您可以使用 ALTER MODEL 重新分配模型所有权,如下所示:

ALTER MODEL model-name OWNER TO owner-name

当模型所有者离职或更改职责时,更改模型所有权很有用。由于您可以更改所有者,因此不需要重写模型。

示例

以下示例演示了如何使用 ALTER_MODEL 更改模型所有者:

  1. 查找您要更改的模型。作为 dbadmin,您拥有模型。

    => SELECT * FROM V_CATALOG.MODELS WHERE model_name='mykmeansmodel';
    -[ RECORD 1 ]--+------------------------------------------
    model_id       | 45035996273816618
    model_name     | mykmeansmodel
    schema_id      | 45035996273704978
    schema_name    | public
    owner_id       | 45035996273704962
    owner_name     | dbadmin
    category       | VERTICA_MODELS
    model_type     | kmeans
    is_complete    | t
    create_time    | 2017-03-02 11:16:04.990626-05
    size           | 964
    
  2. 将模型所有者从 dbadmin 更改为 user1。

    => ALTER MODEL mykmeansmodel OWNER TO user1;
         ALTER MODEL
    
  3. 查看 V_CATALOG.MODELS 以验证所有者是否已更改。

    => SELECT * FROM V_CATALOG.MODELS WHERE model_name='mykmeansmodel';
    
    
    -[ RECORD 1 ]--+------------------------------------------
    model_id       | 45035996273816618
    model_name     | mykmeansmodel
    schema_id      | 45035996273704978
    schema_name    | public
    owner_id       | 45035996273704962
    owner_name     | user1
    category       | VERTICA_MODELS
    model_type     | kmeans
    is_complete    | t
    create_time    | 2017-03-02 11:16:04.990626-05
    size           | 964
    

2 - 将模型移到另一个架构

您可以使用 ALTER MODEL 将模型从一个架构移动到另一个架构。您可以以超级用户或对当前架构拥有 USAGE 权限且对目标架构拥有 CREATE 权限的用户的身份来移动模型。

示例

以下示例演示了如何使用 ALTER MODEL 更改模型架构:

  1. 查找您要更改的模型。

    => SELECT * FROM V_CATALOG.MODELS WHERE model_name='mykmeansmodel';
    -[ RECORD 1 ]--+------------------------------------------
    model_id       | 45035996273816618
    model_name     | mykmeansmodel
    schema_id      | 45035996273704978
    schema_name    | public
    owner_id       | 45035996273704962
    owner_name     | dbadmin
    category       | VERTICA_MODELS
    model_type     | kmeans
    is_complete    | t
    create_time    | 2017-03-02 11:16:04.990626-05
    size           | 964
    
  2. 更改模型架构。

    => ALTER MODEL mykmeansmodel SET SCHEMA test;
         ALTER MODEL
    
  3. 查看 V_CATALOG.MODELS 以验证所有者是否已更改。

    => SELECT * FROM V_CATALOG.MODELS WHERE model_name='mykmeansmodel';
    
    
    -[ RECORD 1 ]--+------------------------------------------
    model_id       | 45035996273816618
    model_name     | mykmeansmodel
    schema_id      | 45035996273704978
    schema_name    | test
    owner_id       | 45035996273704962
    owner_name     | dbadmin
    category       | VERTICA_MODELS
    model_type     | kmeans
    is_complete    | t
    create_time    | 2017-03-02 11:16:04.990626-05
    size           | 964
    

3 - 重命名模型

ALTER MODEL 允许您重命名模型。例如:

  1. 查找您要更改的模型。

    => SELECT * FROM V_CATALOG.MODELS WHERE model_name='mymodel';
    -[ RECORD 1 ]--+------------------------------------------
    model_id       | 45035996273816618
    model_name     | mymodel
    schema_id      | 45035996273704978
    schema_name    | public
    owner_id       | 45035996273704962
    owner_name     | dbadmin
    category       | VERTICA_MODELS
    model_type     | kmeans
    is_complete    | t
    create_time    | 2017-03-02 11:16:04.990626-05
    size           | 964
    
  2. 重命名模型。

    => ALTER MODEL mymodel RENAME TO mykmeansmodel;
         ALTER MODEL
    
  3. 查看 V_CATALOG.MODELS 以验证模型名称是否已更改。

    => SELECT * FROM V_CATALOG.MODELS WHERE model_name='mykmeansmodel';
    
    
    -[ RECORD 1 ]--+------------------------------------------
    model_id       | 45035996273816618
    model_name     | mykmeansmodel
    schema_id      | 45035996273704978
    schema_name    | public
    owner_id       | 45035996273704962
    owner_name     | dbadmin
    category       | VERTICA_MODELS
    model_type     | kmeans
    is_complete    | t
    create_time    | 2017-03-02 11:16:04.990626-05
    size           | 964