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.
Sobre el conjunto : table

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

Descubrir todas las acciones de table
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.