Apache Spark está revolucionando el mundo del Big Data y de la Ciencia de Datos.  El pasado 15 de junio en el evento Spark Summit 2015, IBM generó mucha atención sobre Spark al anunciar que esta tecnología será central en todos sus productos de Ciencia de Datos. Pero IBM no es la única empresa que es consciente del alto poder de Spark y un gran número de compañías  han comenzado a desarrollar productos muy interesantes utilizando esta tecnología.

¿Qué es Apache Spark?

Apache Spark es un framework construido sobre la JVM (Java Virtual Machine). Consiste en un motor general para procesamiento de Big Data, con módulos incluidos para procesamiento de datos en streaming, SQL, graph y machine learning. El motor es altamente efectivo y permite ejecutar procesos hasta  100 veces más rápido que Hadoop.

¿Cómo surgió Apache Spark?

Spark es u proyecto que comenzó a desarrollarse en los laboratorios de AMPlab de la Universidad de Berkeley en el año 2009 y que se volvió open source en el año 2010. El proyecto llegó a tener más de 100 contribuidores y comenzó a ganar notable  popularidad en el año 2013 mediante su incorporación a la Apache Software Foundation.  Actualmente es el proyecto de Big Data con mayor cantidad de contribuidores a nivel mundial y del que se esperan las mayores innovaciones tecnológicas en los próximos años.

¿A qué se debe la alta expectativa en Apache Spark?

El ecosistema de herramientas de procesamiento y análisis de Big Data es muy complejo. La gran ventaja de Spark es que permite mediante una única aplicación realizar tareas como procesos ETL, queries interactivos, analítica avanzada con machine learning y procesamiento en tiempo real mediante streaming. Realizar todas esas actividades ya era posible, pero involucraba usar múltiples herramientas en ocasiones  con diferentes lenguajes de programación para cada una de ellas.

Spark simplifica tareas de TI como mantenimiento y administración de la plataforma al tener menos herramientas en el ecosistema de Big Data. También cuenta con un API de programación muy robusto que permite reducir dramáticamente las líneas de código para realizar diversas tareas y es multilenguaje. En su versión más reciente (1.4) es compatible con Python, Java, Scala y  R. Esto facilita su penetración entre los usuarios al ser compatible con los lenguajes más usados por los Científicos de Datos.

Finalmente en cuestión de velocidad no hay competidor alguno para Spark. En 2014 fue reconocido como el motor más veloz del mundo al ganar el evento conocido como Daytona Gray Sort 100TB Benchmark. Este evento consiste en el ordenamiento de 100TB de datos en el menor tiempo posible. Spark rompió el récord previo de 72 minutos, perteneciente a un Clúster de Hadoop  que empleaba algoritmos de MapReduce. Spark necesitó únicamente 23 minutos y utilizó una infraestructura 10 veces menor en tamaño que la de Hadoop. Esto es gracias a que Spark es capaz de procesar datos y distribuirlos en memoria a lo largo de todo el Clúster alcanzando así velocidades extraordinarias.

¿Apache Spark reemplazará a Hadoop como la tecnología más fuerte de Big Data?

Spark no es un reemplazo, sino un complemento a Hadoop. Spark no cuenta por sí mismo con un sistema de almacenamiento de Big Data. Sin embargo, es compatible con HDFS (Hadoop) y sistemas de bases de datos NoSQL como Cassandra. De igual forma permite cargar directamente archivos y datos semiestructurados o no estructurados a memoria para procesarlos rápidamente. Los vendedores de software empresarial hoy en día ya ofrecen conectores para que sus herramientas funcionen con Spark, por lo que Spark tendrá una presencia muy fuerte en el mercado en los próximos años.

Apenas estamos comenzando a observar los impactos de esta nueva tecnología. Diversas aplicaciones con Spark,  desde biotecnología hasta el sector financiero, están siendo gradualmente publicadas y dándose a conocer públicamente. Nuevas startups están construyendo con Spark herramientas de software que permitirán que analistas de negocio procesen, limpien y manipulen cantidades masivas de datos sin la necesidad de un experto de TI.  No cabe duda que Spark está generando una nueva era dentro del Big Data y la Ciencia de Datos.

¿Ustedes consideran que Spark está ya lo suficientemente maduro como para irrumpir en México como la tecnología principal de Big Data y Ciencia de Datos?