table alterTable

Optimización y Archivado de Datos de Sensores a Gran Escala

Scénario de test & Cas d'usage

Contexto empresarial

Una empresa de IoT necesita archivar datos de sensores. La tabla original es muy ancha y contiene muchas métricas. Para optimizar el almacenamiento y el rendimiento de las consultas a largo plazo, se debe crear una versión archivada que contenga solo las métricas clave, un subconjunto de columnas. Además, la tabla debe tener una política de ciclo de vida para ser eliminada si no se usa y estar preparada para un futuro aumento de nodos en el clúster de CAS.
Sobre el conjunto : table

Carga, guardado y gestión de tablas en memoria.

Descubrir todas las acciones de table
Preparación de datos

Crea 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.

¡Copiado!
1PROC 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 };
17QUIT;

Étapes de réalisation

1
Ejecución de alterTable para archivar los datos. Se utiliza 'keep' para seleccionar solo las columnas esenciales, se renombra la tabla y se establecen políticas de 'lifetime' y 'tableRedistUpPolicy'.
¡Copiado!
1PROC 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 };
11RUN;
12QUIT;

Resultado esperado


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.