¡En sus marcas, listos, fuera!

Hoy tuvimos la primera clase de la materia de graduación, y empezamos viendo una introducción a la programación en paralelo y la programación distribuida.

Para que sea más fácil llevarle la pista a las actividades pendientes y entregables, he creado una página llamada «Actividades». También revisen frecuentemente la página de los proyectos, en donde trataré de publicar información de interés para los diferentes grupos.

6 Responses to “¡En sus marcas, listos, fuera!”

  1. Romeo Cabrera Says:

    Gracias por los links sobre el tema relacionado con el proyecto de mi grupo. Les echaré un ojo.

    Por cierto, creo que ya existe un site académico donde se puede hacer un foro de discusión, ¿o no? Sería una manera más sencilla en la cual los participantes del curso podamos compartir información relevante y/o hacer preguntas.

  2. cristina.abad Says:

    Los foros de Metis (que tradicionalmente uso en mis clases) lastimosamente no los puede ver nadie fuera de la materia. La idea es que lo que publiquemos en este y futuros semestres pueda ser consultado por otros.
    Otra alternativa sería crear un Google Group para la materia si lo desean. El viernes podemos discutir esta alternativa.

  3. Romeo Cabrera A. Says:

    Hago por aquí unos comentarios, para que quede a disposición de todos la interacción.

    Usted nos sugirió usar Pig como una capa superior sobre Hadoop para manejar consultas sobre la data a ser analizada por nuestro proyecto.

    También me di cuenta que Hive es una herramienta similar de lenguaje de alto nivel para manejar consultas (Hive es desarrollado/usado por el equipo de Facebook).

    El siguiente es un interesante hilo de discusión sobre las ventajas y desventajas de cada uno. De lo que usted conoce Cristina, ¿qué comentarios tiene sobre ambas herramientas?

    P.S.: Este mini tutorial basado en ejemplos, es muy útil para aprender lo que puede hacer Pig.

  4. cristina.abad Says:

    Mi experiencia con Pig es limitada, y con Hive nula. Mi primera preocupación de usar Hive fue que no viniera instalada en los AMIs de Hadoop que vamos a usar en EC2. Pero una rápida búsqueda en Google me despejó esa duda. Tanto Pig como Hive vienen instalados en la máquina virtual de Cloudera, y si usamos los AMIs de Cloudera en EC2 no deberían tener problemas. Sobre las similitudes y diferencias de ambos, encontré otra buena discusión, y tras leer ambas discusiones puedo opinar que para el caso del proyecto de ustedes, pueden usar Pig o Hive.
    La elección dependerá de ustedes, pero tengan en cuenta: (1) Pig tiende a ser más eficiente (al menos al momento), (2) Hive tiende a ser más fácil de aprender, sobre todo si lo que ustedes desarrollen lo usará gente que no sea Ing. en Computación pero que sí sepan usar SQL, (3) Pig es más flexible, pero dado que solamente van a analizar CDRs, habría que ver si realmente necesitan tanta flexibilidad.
    Por cierto, hay un caso de estudio muy interesante y extenso sobre Facebook en el libro de Hadoop. Si quieren se los puedo prestar para que lo usen como soporte en la documentación.

  5. Romeo Cabrera A. Says:

    Ok muchas gracias; con esos enlaces queda un poco más claro el panorama y la decisión de qué herramienta usar. Incluso si hay tiempo (je!) se podrían intentar ambas implementaciones como para un comparativo.

    Viendo los links me doy cuenta que también existe HBase. Aunque supongo que por lo pronto, lo más aconsejable sería no complicarnos mucho con tantas opciones.

    Lo del libro de Hadoop sería ideal si nos lo podría prestar para avanzar con ese tema, gracias.

    Una pregunta relacionada con su comentario: ¿Es imprescindible hacer correr los proyectos en EC2 (en la «nube»)? ¿O es suficiente hacer pruebas de concepto en PCs virtuales, o con un cluster de 3-4 laptops/PCs físicas?

    P.S.: Aquí les dejo un interesante y didáctico paper acerca de Pig, pienso que será de utilidad a más de uno de los grupos: (lo encontré vía http://del.icio.us/tag/hadoop+pig)

    http://www.cs.cmu.edu/~olston/publications/sigmod08.pdf

  6. cristina.abad Says:

    No creo que HBase (la alternativa libre a la BigTable de Google) sea lo más conveniente para el problema de ustedes. HBase es adecuado para otro tipo de problemas, como por ejemplo, almacenar los resultados de un proceso MapReduce, los cuales serán usados y re-utilizados continuamente.

    Me inclino a pensar que los proyectos deben usar EC2, aunque supongo que eso se puede obviar si es justificable. No entiendo cuál sería la ventaja de utilizar un cluster local, pero si la existe, podemos discutir el tema en clase. Por cierto, hace un tiempo le consulté a Aaron Kimball si en su opinión se puede usar clusters pequeños (3 nodos) en ambientes académicos y contestó que en la práctica el rendimiento de Hadoop no es bueno en clusters de menos de 10 nodos ya que no hay suficientes nodos para lograr distribuir la carga adecuadamente.

    El paper de Pig enlazado definitivamente debe ser citado por el/los grupos que usen Pig. Pueden encontrar un ejemplo de cómo listar la referencia (en el capítulo de bibliografía) en citeulike.

Leave a Reply