?>Array ( [lang] => es [id] => 65 ) Creación Masiva de Subdirectorios para Particionamiento de Datos IoT - WeAreCAS
table addCaslibSubdir

Creación Masiva de Subdirectorios para Particionamiento de Datos IoT

Scénario de test & Cas d'usage

Contexto empresarial

Una empresa de manufactura necesita ingestar datos de miles de sensores en tiempo real. Para optimizar las consultas, los datos se particionan por fecha y por ID de sensor. Este escenario prueba la capacidad de la acción para manejar un gran volumen de solicitudes de creación de directorios de forma rápida y eficiente, simulando una ingesta de datos a gran escala.
Preparación de datos

Creación de una caslib de tipo PATH para almacenar los datos crudos de los sensores IoT.

¡Copiado!
1PROC CAS;
2 TABLE.addCaslib /
3 caslib='IOT_RAW_DATA'
4 dataSource={srcType='PATH'}
5 path='/tmp/iot_raw_data';
6RUN;
7QUIT;

Étapes de réalisation

1
Usar un macro de SAS para simular la creación de 500 estructuras de directorios particionados por fecha y sensor_id. Esto evalúa el rendimiento de la acción bajo carga.
¡Copiado!
1%macro create_iot_partitions(n=500);
2 %local i;
3 PROC CAS;
4 %DO i = 1 %to &n;
5 TABLE.addCaslibSubdir /
6 caslib='IOT_RAW_DATA'
7 path="fecha=2025-11-25/sensor_id=SEN_%sysfunc(putn(&i, z5.))";
8 %END;
9 RUN;
10 QUIT;
11%mend create_iot_partitions;
12 
13%create_iot_partitions;

Resultado esperado


La ejecución debe crear 500 subdirectorios anidados bajo '/tmp/iot_raw_data/fecha=2025-11-25/'. Cada subdirectorio tendrá un nombre único (e.g., 'sensor_id=SEN_00001', 'sensor_id=SEN_00002', etc.). La prueba se considera exitosa si todas las operaciones se completan sin errores y en un tiempo de ejecución razonable, demostrando que la acción no es un cuello de botella en un proceso de ingesta masiva.