Scénario de test & Cas d'usage
Chargement, sauvegarde et gestion des tables en mémoire.
Découvrir toutes les actions de tableCrée une table historique 'capteurs_historique' déjà conséquente et un nouveau lot de données volumineux 'capteurs_batch_recent' à l'aide de boucles pour simuler la volumétrie.
| 1 | DATA casuser.capteurs_historique(promote=true); |
| 2 | DO i = 1 to 500000; |
| 3 | id_capteur = ceil(rand('UNIFORM')*100); |
| 4 | valeur = rand('NORMAL', 100, 5); |
| 5 | timestamp = datetime(); |
| 6 | OUTPUT; |
| 7 | END; |
| 8 | RUN; |
| 9 | |
| 10 | DATA casuser.capteurs_batch_recent(promote=true); |
| 11 | DO i = 1 to 100000; |
| 12 | id_capteur = ceil(rand('UNIFORM')*100); |
| 13 | valeur = rand('NORMAL', 100, 5); |
| 14 | timestamp = datetime(); |
| 15 | OUTPUT; |
| 16 | END; |
| 17 | RUN; |
| 1 | PROC CAS; |
| 2 | TABLE.numRows / TABLE={caslib='casuser', name='capteurs_historique'}; |
| 3 | RUN; |
| 4 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.append / |
| 3 | SOURCE={name='capteurs_batch_recent', caslib='casuser', singlePass=TRUE}, |
| 4 | target={name='capteurs_historique', caslib='casuser'}; |
| 5 | RUN; |
| 6 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.numRows / TABLE={caslib='casuser', name='capteurs_historique'}; |
| 3 | RUN; |
| 4 | QUIT; |
L'action se termine avec succès. Le nombre de lignes final dans 'capteurs_historique' doit être de 600 000 (500 000 initiales + 100 000 du batch). L'utilisation de 'singlePass=TRUE' est validée pour ce cas d'usage de performance.