Scénario de test & Cas d'usage
Carga, guardado y gestión de tablas en memoria.
Descubrir todas las acciones de tableCrea una tabla ancha ('RAW_SENSOR_DATA') con 20 métricas de sensores, un ID de dispositivo y una marca de tiempo. Se generan 10,000 filas para simular un volumen de datos moderado.
| 1 | PROC CAS; |
| 2 | datastep.runCode{ |
| 3 | code='data CASUSER.RAW_SENSOR_DATA; |
| 4 | array sensors{20} sensor1-sensor20; |
| 5 | do i = 1 to 10000; |
| 6 | DeviceID = "DEV-" || put(ceil(rand("uniform")*10), z4.); |
| 7 | Timestamp = dhms(today(), 0, 0, 0) + i; |
| 8 | do j = 1 to 20; |
| 9 | sensors{j} = rand("normal", 100, 5); |
| 10 | end; |
| 11 | output; |
| 12 | end; |
| 13 | format Timestamp datetime20.; |
| 14 | drop i j; |
| 15 | run;' |
| 16 | }; |
| 17 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.alterTable{ |
| 3 | caslib='CASUSER', |
| 4 | name='RAW_SENSOR_DATA', |
| 5 | rename='ARCHIVED_SENSOR_METRICS_2025', |
| 6 | label='Métricas Clave de Sensores Archivadas (2025)', |
| 7 | keep={'DeviceID', 'Timestamp', 'sensor1', 'sensor5', 'sensor12'}, |
| 8 | lifetime=86400, |
| 9 | tableRedistUpPolicy='REBALANCE' |
| 10 | }; |
| 11 | RUN; |
| 12 | QUIT; |
La tabla 'RAW_SENSOR_DATA' se transforma en 'ARCHIVED_SENSOR_METRICS_2025'. Esta nueva tabla solo contiene las columnas 'DeviceID', 'Timestamp', 'sensor1', 'sensor5' y 'sensor12'. La tabla se eliminará automáticamente de la memoria si no se accede a ella durante 24 horas (86400 segundos). Además, si se añaden nuevos nodos al servidor CAS, los datos de esta tabla se reequilibrarán automáticamente para optimizar el rendimiento.