?>Array ( [id] => 47 )
Scénario de test & Cas d'usage
Erstellung einer großen Tabelle ('BIG_DATA') mit 5 Millionen Zeilen direkt in CAS, um einen langlaufenden Job zu simulieren.
| 1 | PROC CAS; |
| 2 | loadactionset 'datastep'; |
| 3 | runCode / code='data casuser.BIG_DATA(replace=yes); do i = 1 to 5000000; x = rand("NORMAL"); y = rand("UNIFORM"); output; end; run;'; |
| 4 | RUN; |
| 1 | PROC CAS; |
| 2 | loadactionset 'datastep'; |
| 3 | etl_job = datastep.runCode / |
| 4 | async='etl_job', |
| 5 | code='data casuser.BIG_DATA_TRANSFORMED; set casuser.BIG_DATA; z = log(abs(x) + 0.01) * y; run;'; |
| 6 | RUN; |
| 1 | PROC CAS; |
| 2 | job_uuid = etl_job.jobid; |
| 3 | PRINT 'Überwachung der Job-UUID: ' job_uuid; |
| 4 | SESSION.actionstatus / uuid=job_uuid; |
| 5 | RUN; |
| 1 | /* In einem realen Skript würde hier eine Pause von 5-10 Sekunden eingefügt. */ |
| 2 | PROC CAS; |
| 3 | SESSION.actionstatus / uuid=job_uuid; |
| 4 | RUN; |
Der erste Aufruf von 'actionstatus' sollte den Jobstatus als 'running' anzeigen. Der zweite Aufruf nach einer kurzen Pause sollte den Status als 'completed' anzeigen. Dies validiert die Fähigkeit, den Lebenszyklus eines langlaufenden Jobs von der Ausführung bis zum Abschluss zu verfolgen.