MySQL 9.0.0 introduces the
ML_MODEL_EXPORT
routine. Use this
routine to export a model from the model catalog to a user
defined table.
MySQL 9.0.0 also introduces support for large models that
changes how MySQL HeatWave AutoML stores models. See:
The Model Object Catalog Table.
ML_MODEL_EXPORT
upgrades older
models.
To learn how to use
ML_MODEL_EXPORT
to share models,
see Share a
Model.
After you run ML_MODEL_EXPORT
,
the output table has these columns and formats:
-
chunk_id
:INT AUTO_INCREMENT PRIMARY KEY
-
model_object
:LONGTEXT DEFAULT NULL
-
model_metadata
:JSON
See Model Metadata.
ML_MODEL_EXPORT
should work
regardless of model_metadata.status
:
-
If there is no corresponding row in the
model_object_catalog
for an existingmodel_handle
in theMODEL_CATALOG
:There should be only one row in the output table with
chunk_id
= 0,model_object
= NULL andmodel_metadata
=MODEL_CATALOG.model_metadata
. -
If there is at least one row in the
model_object_catalog
for an existingmodel_handle
in theMODEL_CATALOG
:There should be N rows in the output table with
chunk_id
being 1 to N.ML_MODEL_EXPORT
copies themodel_object
frommodel_object_catalog
to the output table.model_metadata
in the row withchunk_id
= 1 should be the same as in theMODEL_CATALOG
.
If you use ML_MODEL_IMPORT
to
import an exported model into a different DB System, the results
depend on the MySQL version:
If the DB System has MySQL 9.0.0 or greater, the import should work.
-
If the DB System has a MySQL version before MySQL 9.0.0:
If the model format is HWMLv2.0 or ONNXv2.0, then the import fails.
-
If the model format is HWMLv1.0, ONNXv1.0 or ONNX, make the following changes:
Drop
model_metadata.chunks
.Change the model format to ONNX if the model format is ONNXv1.0.
The import should then succeed.
mysql> CALL sys.ML_MODEL_EXPORT (model_handle, output_table_name);
ML_MODEL_EXPORT
parameters:
model_handle
: The model handle for the model. See Work with Model Handles.output_table_name
: The name for the output table.
-
An example that exports a MySQL HeatWave AutoML model with metadata to the model catalog (ML_SCHEMA_user1.model_export). The output table name is
model_export
. You can then useSHOW_CREATE_TABLE
to view information on the table for the exported model.mysql> CALL sys.ML_MODEL_EXPORT(@iris_model, 'ML_SCHEMA_user1.model_export'); Query OK, 0 rows affected (0.06 sec) mysql> SHOW CREATE TABLE ML_SCHEMA_user1.model_export; +--------------+--------------------------------------------------------------------+ | Table | Create Table | +--------------+--------------------------------------------------------------------+ | model_export | CREATE TABLE `model_export` ( `chunk_id` int NOT NULL AUTO_INCREMENT, `model_object` longtext, `model_metadata` json DEFAULT NULL, PRIMARY KEY (`chunk_id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci | +--------------+--------------------------------------------------------------------+ 1 row in set (0.00 sec)