3.9.10 共享模型

共享模型需要将模型目录权限授予其他用户。您只能与同一 MySQL 数据库系统上的另一个 MySQL 用户共享模型。

要授予模型目录权限,请发出类似于以下的语句:

GRANT SELECT, ALTER, INSERT, CREATE, UPDATE, DROP, GRANT OPTION 
ON ML_SCHEMA_user1.MODEL_CATALOG 
TO 'user2'@'%';

在哪里:

  • ML_SCHEMA_user1.MODEL_CATALOGMODEL_CATALOG表的完全限定名称。架构以创建模型的用户命名。

  • 'user2'@'%' 是您要授予访问权限的用户。

笔记

被授予模型目录权限的用户还必须具有使用 HeatWave ML 所需的权限以及对 写入结果CREATE的模式 ML_PREDICT_TABLE 的 权限。ML_EXPLAIN_TABLE请参见 第 3.1 节“开始之前”

与其他用户共享模型目录后,该用户可以在运行 ML_*例程时访问目录中的模型。例如, 'user2'@'%'在上面的示例中,可以将模型目录中的模型句柄分配给user1会话变量,并从 ML_PREDICT_TABLE 例程中调用该会话变量。模型所有者负责加载与其他用户共享的模型。

mysql> SET @my_model = (SELECT model_handle 
  FROM ML_SCHEMA_user1.MODEL_CATALOG 
  WHERE train_table_name LIKE '%census_train%');
  
mysql> SELECT @my_model;
+--------------------------------------------------+
| @my_model                                        |
+--------------------------------------------------+
| heatwaveml_bench.census_train_user1_1648167434   |
+--------------------------------------------------+
 
mysql> CALL sys.ML_PREDICT_TABLE('heatwaveml_bench.census_test_subset', @my_model, 
'heatwaveml_bench.census_predictions');