Scénario de test & Cas d'usage
Indexación de datos y funcionalidades de búsqueda.
Descubrir todas las acciones de searchAnalyticsGeneración sintética de 50,000 entradas de log simulando errores de servidor.
| 1 | |
| 2 | DATA casuser.logs_servidor; |
| 3 | LENGTH id_log 8 mensaje $100; |
| 4 | DO i=1 to 50000; |
| 5 | id_log=i; |
| 6 | IF mod(i, 3)=0 THEN mensaje='Error 500: Fallo interno del servidor en el módulo de pago'; |
| 7 | ELSE IF mod(i, 5)=0 THEN mensaje='Warning: Tiempo de espera agotado en conexión DB'; |
| 8 | ELSE mensaje='Info: Operación realizada con éxito por el usuario'; |
| 9 | OUTPUT; |
| 10 | END; |
| 11 | |
| 12 | RUN; |
| 13 |
| 1 | |
| 2 | PROC CAS; |
| 3 | searchAnalytics.buildTermIndex / TABLE={name='logs_servidor', caslib='casuser'}, casOut={name='indice_logs_volumen', caslib='casuser', replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 |
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.tableDetails / name='indice_logs_volumen', caslib='casuser'; |
| 4 | TABLE.fetch / TABLE={name='indice_logs_volumen', caslib='casuser'}, to=10; |
| 5 | |
| 6 | RUN; |
| 7 |
La acción debe completarse sin errores de memoria. La tabla de salida 'indice_logs_volumen' debe resumir las 50,000 filas en un conjunto mucho más pequeño de entradas únicas (dada la repetición de los mensajes), demostrando la eficiencia de compresión del índice.