?>Array ( [lang] => es [id] => 185 ) Optimización de Ingesta de Datos de Sensores IoT para Análisis de Fallos - WeAreCAS
table addTable

Optimización de Ingesta de Datos de Sensores IoT para Análisis de Fallos

Scénario de test & Cas d'usage

Contexto empresarial

Una planta industrial recopila millones de lecturas de sensores de su maquinaria. Para acelerar el análisis predictivo de fallos, los datos deben cargarse en CAS de una manera optimizada. Las consultas más frecuentes filtran por ID de máquina y analizan los eventos más recientes. El objetivo es cargar los datos particionados por máquina, ordenados por fecha descendente y comprimidos para ahorrar memoria.
Preparación de datos

Se crea una tabla SAS local ('lecturas_sensores') con un volumen de datos significativo (20,000 filas) para simular lecturas de sensores. Incluye ID de máquina, ID de sensor, fecha/hora de la lectura y el valor medido.

¡Copiado!
1DATA lecturas_sensores;
2 FORMAT fecha_hora datetime20.;
3 DO id_maquina = 1 to 2;
4 DO i = 1 to 10000;
5 id_sensor = ceil(rand('UNIFORM') * 5);
6 fecha_hora = '01JAN2023:00:00:00'dt + i * 30;
7 valor = 100 + rand('NORMAL', 0, 5);
8 OUTPUT;
9 END;
10 END;
11RUN;

Étapes de réalisation

1
Cargar la tabla 'lecturas_sensores' a CAS usando un paso DATA. En las opciones del dataset de salida, se especifica 'partition' por 'id_maquina', 'orderBy' por 'fecha_hora' descendente, y 'compress=true' para la compresión.
¡Copiado!
1DATA casuser.sensores_optimizados(replace=true partition=(id_maquina) orderBy=(descending fecha_hora) compress=true);
2 SET work.lecturas_sensores;
3RUN;
2
Verificar la estructura de la tabla creada en CAS. La acción 'table.tableDetails' proporciona metadatos sobre la tabla, lo que permite confirmar que las opciones de particionamiento, ordenación y compresión se han aplicado correctamente.
¡Copiado!
1PROC CAS;
2 TABLE.tableDetails / name='sensores_optimizados' caslib='casuser';
3RUN;
4QUIT;

Resultado esperado


La tabla 'sensores_optimizados' se crea en CAS. La salida de 'table.tableDetails' debe mostrar claramente que la tabla está particionada por 'id_maquina', que la columna de ordenación es 'fecha_hora' en orden descendente y que la compresión está activada. Esto confirma que la carga se realizó según las especificaciones de optimización, preparando la tabla para consultas de alto rendimiento.