# Procesamiento batch

> Juntar datos durante un rato y después procesarlos todos de una sola vez.

- Nivel: Intermedio
- Temas: Datos, Software
- URL: https://tidbit.legios.com.ar/es/batch-processing/
- En inglés: [Batch processing](https://tidbit.legios.com.ar/batch-processing/)

El **procesamiento batch**, o por lotes, consiste en manejar los datos en bloques grandes y con horario, en lugar de uno por uno a medida que llegan. Un banco junta las operaciones del día y las liquida a la noche. Una empresa calcula los sueldos una vez por mes. Un equipo de datos carga las ventas de ayer en el data warehouse todos los días a las 2 de la mañana para que los tableros estén al día a las 9.

La idea es más vieja que las pantallas: las primeras computadoras corrían pilas de tarjetas perforadas como un solo lote. Sigue vigente porque es simple y eficiente. Una corrida grande aprovecha las máquinas al máximo y después las apaga, es fácil de repetir si algo falla, y los resultados son coherentes porque todo se calculó sobre la misma foto de los datos. La mayoría de los pipelines de ETL y herramientas como Apache Spark se suelen usar así, muchas veces disparados por un cron job o un orquestador.

El costo es la demora: un informe batch está tan fresco como su última corrida. Cuando importan los minutos o los segundos, como en la detección de fraude o el seguimiento en vivo, los equipos pasan al procesamiento de streams, que atiende cada evento apenas llega. Muchas empresas usan las dos cosas: streaming para lo que tiene que ser inmediato, batch para los cálculos pesados y completos.

## Una analogía

Como lavar la ropa una vez por semana: dejás que se junte y lavás un lavarropas lleno, que rinde, pero si hoy necesitás una camisa en particular, mala suerte.

## Para quedarse

- Procesa datos acumulados en corridas programadas, muchas veces de noche.
- Es eficiente y fácil de repetir, pero los resultados son tan frescos como la última corrida.
- El enfoque opuesto es el streaming, que procesa cada evento cuando llega.
- Usos típicos: sueldos, facturación, cargas nocturnas de ETL, informes mensuales.

## Para seguir leyendo

- [¿Qué es el procesamiento por lotes? (AWS)](https://aws.amazon.com/es/what-is/batch-processing/)
- [Procesamiento por lotes en Wikipedia](https://es.wikipedia.org/wiki/Procesamiento_por_lotes)

## Términos relacionados

- [Data warehouse](https://tidbit.legios.com.ar/es/data-warehouse/): Una base hecha para analizar: años de historia, de muchas fuentes, en un solo lugar.
- [ETL](https://tidbit.legios.com.ar/es/etl/): Sacar datos de sus fuentes, limpiarlos y cargarlos donde se puedan analizar.
- [Apache Spark](https://tidbit.legios.com.ar/es/apache-spark/): Un motor open source que reparte el trabajo con datos enormes entre muchas máquinas.
- [Cron job](https://tidbit.legios.com.ar/es/cron-job/): Un comando que una computadora corre sola según un horario, como cada noche a las 3.
- [Streaming de datos](https://tidbit.legios.com.ar/es/data-streaming/): Procesar datos como un flujo continuo de eventos, segundos después de que pasan.
