MySQL HeatWave User Guide
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 existing
model_handle
in the
MODEL_CATALOG
:
There should be only one row in the output table with
chunk_id
= 0,
model_object
= NULL and
model_metadata
=
MODEL_CATALOG.model_metadata
.
If there is at least one row in the
model_object_catalog
for an existing
model_handle
in the
MODEL_CATALOG
:
There should be N rows in the output table with
chunk_id
being 1 to N.
ML_MODEL_EXPORT
copies
the model_object
from
model_object_catalog
to the output
table.
model_metadata
in the row with
chunk_id
= 1 should be the same as
in the MODEL_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 use SHOW_CREATE_TABLE
to view
information on the table for the exported model.
mysql>CALL sys.ML_MODEL_EXPORT(@iris_model, 'ML_SCHEMA_
Query OK, 0 rows affected (0.06 sec) mysql>user1
.model_export');SHOW CREATE TABLE ML_SCHEMA_
+--------------+--------------------------------------------------------------------+ | 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)user1
.model_export;