POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Práctica 1: Filtrado Regular, Agrupación y Agregación

Filtrado Regular, Agrupación y Agregación - Práctica 1

Publicado el 16/08/2025

Practice#1: Regular Filtering and Grouping & Aggregation utilizando la tabla orders como ejemplo para externalizar datos con SPL y acelerar operaciones regulares de filtrado y de agrupación y agregación

Este artículo describe paso a paso cómo exportar una tabla de base de datos a ficheros de almacenamiento de SPL y cómo aprovechar formatos columnar y por columnas compuestas para mejorar el rendimiento de consultas que filtran y agregan datos. También incluye recomendaciones prácticas para aplicar procesamiento por cursor, filtrado en cursor y paralelismo.

Preparación y exportación con la herramienta ETL de SPL

Abra la herramienta ETL de SPL desde la ruta de instalación de SPL y cree un nuevo proceso ETL. Conecte la fuente de datos y arrastre la tabla orders al área de trabajo. Edite la tabla para configurar las opciones de exportación y en la sección de ruta de datos indique el directorio donde se guardarán los ficheros exportados. Cree un fichero SPLX o exporte directamente a un archivo binario BTX. Guarde el proceso ETL con un nombre descriptivo como Q1.etl y ejecute la exportación.

Ejemplo de consulta SQL para agrupar y agregar

select employee_id, count(*) as order_count, sum(shipping_fee) as total, avg(shipping_fee) as average, max(order_date) as latest_order_date from orders where order_date between 2024-01-01 and 2024-10-31 and shipper_id <> 1 and shipping_fee > 10 group by employee_id;

En la base de datos MySQL este ejemplo tomó aproximadamente 11 segundos en ejecutarse en las pruebas descritas.

Enfoque SPL con cursor y filtrado

Cuando la tabla orders es demasiado grande para leerse totalmente en memoria, SPL puede usar un cursor para leer y procesar por lotes. El cursor recupera solo los campos necesarios para evaluar condiciones, reduciendo la creación de objetos y el uso de memoria. Use la función select para aplicar el filtrado equivalente a WHERE en SQL. Para agrupar, utilice la sintaxis de agrupamiento de SPL donde la parte anterior al punto y coma es la clave de agrupamiento y la parte posterior contiene las expresiones agregadas. A diferencia de SQL, SPL combina de forma nativa clave y valores agregados en el resultado.

Tiempos orientativos: el script SPL inicial con lectura por cursor y formato BTX tardó alrededor de 2.2 segundos en la prueba, demostrando ya una mejora frente a la consulta directa en MySQL.

Uso de formato columnar compuesto CTX

El formato CTX almacena los datos por columnas y es especialmente útil cuando la tabla tiene un gran número de campos pero las consultas acceden a pocos de ellos. Crear un CTX requiere definir la estructura de datos, por lo que el proceso es algo más detallado que para un BTX. Ejecutando el mismo procesamiento sobre un CTX el tiempo descendió a 1.9 segundos en la prueba.

Filtrado en cursor para minimizar lecturas

Adjunte condiciones de filtrado al cursor para que primero se lean únicamente los campos que intervienen en las condiciones, y solo si estas se cumplen se obtengan los campos adicionales necesarios para construir el registro. Esto reduce lecturas de disco y la creación de objetos innecesarios. En la prueba el algoritmo de filtrado en cursor sobre CTX bajó el tiempo a 1.8 segundos.

Paralelismo fácil en SPL

SPL facilita el procesamiento paralelo indicando el número de hilos. Ajuste el número de hilos a los núcleos CPU disponibles, por ejemplo 8. Añadiendo la opción de paralelismo al cursor para un BTX el tiempo bajó a 0.6 segundos y para CTX a 0.5 segundos en las pruebas realizadas.

Resumen comparativo de rendimiento en segundos

MySQL consulta directa: 11 segundos

SPL con BTX y cursor secuencial: 2.2 segundos

SPL con CTX y cursor secuencial: 1.9 segundos

SPL con CTX y cursor con filtrado: 1.8 segundos

SPL con paralelismo en BTX: 0.6 segundos

SPL con paralelismo en CTX: 0.5 segundos

Observaciones prácticas

El almacenamiento SPL y la exportación de datos son especialmente adecuados para escenarios con datos históricos estáticos que se consultan frecuentemente. El formato CTX es idóneo cuando las consultas usan pocas columnas de tablas anchas. El filtrado en cursor y el paralelismo son dos técnicas claves para minimizar I O y aprovechar la CPU.

Ejercicios sugeridos

1 Agrupar por cliente y calcular el total de freight para cada cliente aplicando una condición que combine order_date y employee_id

2 Exportar una tabla grande de una base de datos conocida y generar un BTX y un CTX. Ejecutar las mismas agregaciones usando ambos formatos y comparar tiempos y uso de recursos

Sobre Q2BSTUDIO

Q2BSTUDIO es una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida. Ofrecemos soluciones de inteligencia artificial y ia para empresas, desarrollamos agentes IA y aplicamos Power BI y servicios inteligencia de negocio para transformar datos en decisiones. Nuestros servicios incluyen ciberseguridad, servicios cloud aws y azure y consultoría para proyectos escalares. Somos expertos en integración de modelos de inteligencia artificial, despliegue seguro en la nube y creación de aplicaciones a medida que incorporan agentes IA para automatizar procesos.

Servicios destacados de Q2BSTUDIO

Aplicaciones a medida y software a medida adaptados a las necesidades operativas. Implementación de inteligencia artificial, ia para empresas y agentes IA que mejoran productividad. Soluciones de ciberseguridad para proteger datos críticos. Servicios cloud aws y azure para desplegar aplicaciones y modelos de forma escalable. Servicios inteligencia de negocio y dashboards con Power BI para visualización y análisis.

Palabras clave para posicionamiento

aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi

Recursos y licencia

SPL es open source y el código fuente está disponible en GitHub en el repositorio oficial de esProc. Puedes descargar una versión de prueba en la web oficial y seguir los pasos descritos para exportar tablas y probar los diferentes formatos de almacenamiento.

Contacto

Si deseas que Q2BSTUDIO te ayude a externalizar datos, optimizar consultas o desarrollar aplicaciones a medida que integren inteligencia artificial y ciberseguridad, contacta con nuestro equipo para una consultoría inicial y una propuesta de proyecto personalizada

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio