¿Qué es Apache Spark? Apache Spark es un motor de procesamiento de datos unificado de código abierto diseñado para el procesamiento de datos a gran escala. Fue desarrollado en la UC Berkeley's AMPLab en 2009 y donado a la Apache Software Foundation en 2013.
Características principales:
- Procesamiento en memoria: Spark procesa datos en RAM, lo que lo hace hasta 100 veces más rápido que Hadoop MapReduce para ciertas cargas de trabajo.
- Procesamiento unificado: Soporta batch processing, streaming, machine learning y procesamiento de gráficos.
- Fácil de usar: APIs de alto nivel en Java, Scala, Python y R.
- Ejecución en múltiples entornos: Puede ejecutarse en standalone, Hadoop YARN, Mesos o Kubernetes.
Arquitectura de Spark:
Spark sigue una arquitectura maestro-esclavo con dos componentes principales:
- Driver Program: Ejecuta el programa principal y crea el SparkContext.
- Cluster Manager: Adquiere recursos y los asigna a las aplicaciones.
- Worker Nodes: Ejecutan las tareas asignadas.
- Executors: Procesos que ejecutan tareas y almacenan datos.