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.
| Parámetro | Descripción |
|---|---|
| externalCaslib | Especifica la caslib que contiene las opciones de la base de datos externa. |
| externalOptions | Especifica 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. |
| modelName | Especifica el nombre del modelo. Este nombre corresponde a la columna ModelName de la tabla de modelos. |
| modelOptions | Especifica las opciones que se aplican al modelo. |
| replace | Cuando se establece en true, permite que el modelo existente sea reemplazado en la tabla de modelos por el nuevo modelo que se está publicando. |
| modelTable | Especifica la tabla de modelos que contiene el modelo a copiar. |
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.
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'decisionTree'; |
| 3 | |
| 4 | DATA mycas.iris; |
| 5 | SET sashelp.iris; |
| 6 | RUN; |
| 7 | |
| 8 | decisionTree.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}; |
| 14 | RUN; |
| 15 | QUIT; |
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.
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'modelPublishing'; |
| 3 | |
| 4 | modelPublishing.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}; |
| 10 | RUN; |
| 11 | QUIT; |
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.
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'modelPublishing'; |
| 3 | |
| 4 | modelPublishing.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}; |
| 10 | RUN; |
| 11 | QUIT; |