modelPublishing

copyModelExternal

Descripción

Copia un modelo desde una tabla CAS a una base de datos externa. Esta acción permite la portabilidad de modelos de analítica para su ejecución en diferentes entornos de bases de datos como Teradata, Hadoop o Databricks.

modelPublishing.copyModelExternal { externalCaslib="string", externalOptions={extType="string", extType-specific-parameters}, modelName="string", modelOptions={replace=boolean}, modelTable={...} };
Parámetros
ParámetroDescripción
externalCaslibEspecifica la caslib que contiene las opciones de la base de datos externa.
externalOptionsEspecifica las opciones de la base de datos externa. El valor que especifique para el parámetro extType determina los demás parámetros que se aplican.
modelNameEspecifica el nombre del modelo. Este nombre corresponde a la columna ModelName de la tabla de modelos.
modelOptionsEspecifica las opciones que se aplican al modelo.
replaceCuando se establece en true, permite que el modelo existente sea reemplazado en la tabla de modelos por el nuevo modelo que se está publicando.
modelTableEspecifica la tabla de modelos que contiene el modelo a copiar.
Creación de Datos de Ejemplo

Primero, creamos un modelo simple usando un árbol de decisión y lo guardamos en una tabla CAS llamada 'myModelTable'. Este modelo servirá como el artefacto que copiaremos a un destino externo.

¡Copiado!
1PROC CAS;
2LOADACTIONSET 'decisionTree';
3 
4DATA mycas.iris;
5 SET sashelp.iris;
6RUN;
7 
8decisionTree.dtreeTrain RESULT=r /
9 TABLE={name='iris'},
10 target='Species',
11 inputs={{name='SepalLength'}, {name='SepalWidth'}, {name='PetalLength'}, {name='PetalWidth'}},
12 nominals={'Species'},
13 saveState={name='myModelTable', replace=true};
14RUN;
15QUIT;

Ejemplos

Este ejemplo muestra cómo copiar un modelo llamado 'myModel' desde la tabla CAS 'myModelTable' a una base de datos Teradata. Se asume que una caslib llamada 'myteradata' ya ha sido configurada para conectarse a Teradata.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2LOADACTIONSET 'modelPublishing';
3 
4modelPublishing.copyModelExternal /
5 modelTable={name='myModelTable', caslib='mycas'},
6 modelName='DTreeModel_iris',
7 externalCaslib='myteradata',
8 externalOptions={extType='TERADATA', modelTable={name='copied_model_teradata', schema='user_db'}},
9 modelOptions={replace=true};
10RUN;
11QUIT;
Resultado :
La acción copiará el modelo a la tabla 'copied_model_teradata' dentro del esquema 'user_db' en Teradata. El resultado en el log de SAS indicará el éxito de la operación.

Este ejemplo copia un modelo a un directorio específico en HDFS. La caslib 'myhadoop' debe estar preconfigurada para acceder a Hadoop. La opción 'replace' en 'modelOptions' está establecida en true para permitir la sobreescritura si el modelo ya existe en el destino.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2LOADACTIONSET 'modelPublishing';
3 
4modelPublishing.copyModelExternal /
5 modelTable={name='myModelTable', caslib='mycas'},
6 modelName='DTreeModel_iris',
7 externalCaslib='myhadoop',
8 externalOptions={extType='HADOOP', modelDir='/user/sas/models'},
9 modelOptions={replace=true};
10RUN;
11QUIT;
Resultado :
El modelo se guardará como un archivo o conjunto de archivos dentro del directorio '/user/sas/models' en HDFS. El log de SAS mostrará una nota de éxito confirmando la copia.

FAQ

¿Cuál es el propósito de la acción `copyModelExternal`?
¿Cuáles son los parámetros obligatorios para la acción `copyModelExternal`?
¿Qué especifica el parámetro `externalOptions`?
¿Qué hace la opción `replace` dentro del parámetro `modelOptions`?
¿Se puede copiar un modelo a un sistema de archivos en lugar de una base de datos?