Scénario de test & Cas d'usage
Comandos fundamentales del sistema del servidor CAS.
Descubrir todas las acciones de builtinsSimular la generación masiva de conjuntos de acciones mediante una macro SAS. Cada conjunto de acciones representa una versión de un pipeline de modelo.
| 1 | DATA _null_; |
| 2 | call execute('proc cas;'); |
| 3 | DO i = 1 to 50; |
| 4 | action_set_name = cats('pipeline_v', i); |
| 5 | action_name = cats('train_model_v', i); |
| 6 | call execute(cats('builtins.defineActionSet / actionSet="', action_set_name, '", actions=[{name="', action_name, '", parms={}}];')); |
| 7 | END; |
| 8 | call execute('run;'); |
| 9 | RUN; |
| 1 | PROC CAS; |
| 2 | DATA casuser.master_pipeline_definitions; |
| 3 | LENGTH actionset $ 32 ACTION $ 32 parms $ 200; |
| 4 | stop; |
| 5 | RUN; |
| 6 | TABLE.promote / name='master_pipeline_definitions', caslib='casuser'; |
| 1 | DATA _null_; |
| 2 | call execute('proc cas;'); |
| 3 | DO i = 1 to 50; |
| 4 | action_set_name = cats('pipeline_v', i); |
| 5 | temp_table_name = cats('temp_def_', i); |
| 6 | call execute(cats('builtins.actionSetToTable / actionSet="', action_set_name, '", casOut={name="', temp_table_name, '", caslib="CASUSER"};')); |
| 7 | call execute(cats('table.append / source={name="', temp_table_name, '"}, target={name="master_pipeline_definitions"};')); |
| 8 | call execute(cats('table.dropTable / name="', temp_table_name, '", quiet=true;')); |
| 9 | END; |
| 10 | call execute('run;'); |
| 11 | RUN; |
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.numRows / TABLE={name='master_pipeline_definitions'}; |
| 4 | RUN; |
| 5 |
La tabla 'master_pipeline_definitions' debe contener 50 filas, una por cada conjunto de acciones generado. El log no debe mostrar errores, demostrando que la acción `actionSetToTable` funciona de manera fiable en un bucle de alto volumen y que los resultados pueden ser consolidados eficientemente.