Apache Spark, ¿La tecnología definitiva para Big Data?

implementación de big data con hadoop y spark

¿Quién no ha escuchado últimamente hablar de “Big Data“? Esta palabra tan de moda hace referencia al almacenamiento y procesamiento de grandes cantidades de datos de forma rápida. Estos datos pueden presentarse en diferentes formatos y estructuras, de forma que resulta una tarea compleja el sacar información útil de ellos y se necesite una tecnología que procese los datos de forma rápida.

logo hadoopPara el tratar esta información, nuestros amigos de Apache desarrollaron Hadoop, un framework de procesamiento distribuido basado en el paradigma Map-Reduce que hasta hace poco tiempo era el referente en Big Data. El principal problema de Hadoop radica en que trabaja con los datos directamente desde disco, haciendo que el tiempo de ejecución sea relativamente alto y se requieran equipos más potentes para el procesamiento de los datos.

Logotipo SparkPara paliar los problemas que presenta Hadoop, los chicos de Databricks desarrollaron una solución al problema: Apache Spark.

Spark es un framework en el cual es posible desplegar un clúster y lanzar procesos de forma distribuida tratando los datos en memoria, disminuyendo considerablemente el tiempo de ejecución con respecto a Hadoop y siendo posible su integración con este para aprovechar su sistema de archivos.

En cuanto a las API’s de programación, es posible desarrollar algoritmos en Java, Python, R o Scala, siendo este último el lenguaje sobre el que está implementado el framework, ofreciendo el mayor rendimiento. Además, Spark ofrece cuatro librerías para el procesamiento de datos: Spark SQL, MLlib, GraphX o Spark Streaming.

En próximas entradas se tratará de profundizar más en esta tecnología, llegando a realizar un tutorial sobre el despliegue del clúster y, por qué no, desarrollar y lanzar alguna que otra aplicación simple en Scala que esperamos os gusten.

Y tú…

  1. ¿Te resulta interesante el tema?
  2. ¿Conocías esta tecnología?

17 comentarios en “Apache Spark, ¿La tecnología definitiva para Big Data?

    • josftm dijo:

      Interesante aplicación.
      No puedo evitar preguntarme el cómo obtener esa cantidad de perfiles y los datos de cada uno de forma automática.

      • Nustros alumnos son online y usan Moodle. Aunque no tenemos acceso a la base de datos he logrado pasar bastantes de los datos a csv. A partir de ahí un compañero ya consigue sacar estimaciones (con R ) pero quiero seguir investigando y metiendo campos extra (por ejemplo la tendencia del paro, cuanto menos paro menos alumos, el tiempo de inactividad, si es antiguo alumno o no,…)

        • josftm dijo:

          Creo recordar que en las últimas versiones de Spark permiten el desarrollo de aplicaciones en R (por si interesa), pero no sé si la cantidad de datos con la que trabajais es considerable como para aprovechar las ventajas de Spark.

          Por ejemplo, estuvimos haciendo pruebas con conjuntos de datos de varios tamaños, y las ventajas de Spark empiezan a notarse a partir de archivos de 4-5Gb, aunque estos tamaños son insignificantes para lo que está pensado Spark (Petabytes o Exabytes en adelante).

          Otra opción (que no sé si la habéis contemplado) para realizar el análisis podría ser Weka 😛

    • josftm dijo:

      Gracias por el comentario.
      Respecto a tu pregunta, para un usuario <>, no creo que tenga mucha utilidad debido a que la cantidad de datos que tiene que procesar y/o almacenar resulta insignificante comparado con lo que está pensado usar en esta tecnología. (por ejemplo, el análisis de datos para el estudio de la astronomía).

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s