Apache Flink vs Apache Spark como plataformas para el aprendizaje automático a gran escala?


¿Alguien podría comparar Flink y Spark como plataformas para el aprendizaje automático? Que es potencialmente mejor para los algoritmos iterativos? Enlace a la discusión general Flink vs Spark: ¿Cuál es la diferencia entre Apache Spark y Apache Flink?

Author: Community, 2015-04-21

1 answers

Descargo de responsabilidad: Soy miembro de PMC de Apache Flink. Mi respuesta se centra en las diferencias de ejecución de iteraciones en Flink y Spark.

Apache Spark ejecuta iteraciones desenrollando bucles. Esto significa que para cada iteración se programa y ejecuta un nuevo conjunto de tareas/operadores. Spark hace eso de manera muy eficiente porque es muy bueno en la programación de tareas de baja latencia (el mismo mecanismo se usa para la transmisión de Spark, por cierto.) y almacena en caché los datos en memoria a través de iteraciones. Por lo tanto, cada iteración opera sobre el resultado de la iteración anterior que se mantiene en memoria. En Spark, las iteraciones se implementan como bucles for regulares (ver Ejemplo de Regresión logística).

Flink ejecuta programas con iteraciones como flujos de datos cíclicos. Esto significa que un programa de flujo de datos (y todos sus operadores) se programa una sola vez y los datos se retroalimentan desde la cola de una iteración hasta su cabeza. Básicamente, los datos fluyen en ciclos alrededor de los operadores dentro de una iteración. Puesto que los operadores solo se programan una vez, pueden mantener un estado en todas las iteraciones. La API de Flink ofrece dos operadores de iteración dedicados para especificar iteraciones: 1) iteraciones masivas, que son conceptualmente similares al desenrollado de bucle, y 2) iteraciones delta. Las iteraciones Delta pueden acelerar significativamente ciertos algoritmos porque el trabajo en cada iteración disminuye a medida que el número de iteraciones continúa. Por ejemplo, la 10a iteración de una implementación de PageRank de iteración delta completa mucho más rápido que la primera iteración.

 22
Author: Fabian Hueske,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-05 17:26:46