apache-spark machine-learning pyspark stream-processing apache-apex

¿Cuál es la diferencia entre Apache Spark y Apache Apex?



apache-spark machine-learning (1)

Apache Apex es una plataforma de procesamiento de flujo por lotes y flujo unificado de grado empresarial de código abierto. Se utiliza en la plataforma GE Predix para IOT. ¿Cuáles son las diferencias clave entre estas 2 plataformas?

Preguntas

  1. Desde la perspectiva de la ciencia de datos, ¿en qué se diferencia de Spark?
  2. ¿Apache Apex proporciona funcionalidades como Spark MLlib? Si tenemos que construir modelos ML escalables en Apache Apex, ¿cómo hacerlo y qué idioma usar?
  3. ¿Los científicos de datos tendrán que aprender Java para construir modelos ML escalables? ¿Tiene API de python como pyspark?
  4. ¿Se puede integrar Apache Apex con Spark y podemos usar Spark MLlib sobre Apex para construir modelos ML?

  1. Apache Apex es un motor para procesar datos de transmisión. Algunos otros que intentan lograr lo mismo son Apache storm, Apache flink. El factor diferenciador para Apache Apex es: viene con soporte incorporado para tolerancia a fallos, escalabilidad y enfoque en la operatividad, que son consideraciones clave en los casos de uso de producción.

Comparándolo con Spark: Apache Spark es en realidad un procesamiento por lotes. Si considera la transmisión de chispas (que utiliza chispa por debajo), entonces es un procesamiento de micro lotes. Por el contrario, Apache apex es un verdadero procesamiento de flujo. En un sentido, el registro entrante NO tiene que esperar al siguiente registro para procesarlo. El registro se procesa y se envía al siguiente nivel de procesamiento tan pronto como llega.

  1. Actualmente, se está trabajando para agregar soporte para la integración de Apache Apex con bibliotecas de aprendizaje automático como Apache Samoa, H2O Consulte https://issues.apache.org/jira/browse/SAMOA-49

  2. Actualmente, tiene soporte para Java, Scala.
    https://www.datatorrent.com/blog/blog-writing-apache-apex-application-in-scala/ Para Python, puede intentarlo utilizando Jython. Pero, no lo he probado yo mismo. Por lo tanto, no muy seguro de ello.

  3. La integración con Spark puede no ser una buena idea, ya que son dos motores de procesamiento diferentes. Pero, la integración de Apache Apex con las bibliotecas de aprendizaje automático está en progreso.

Si tiene alguna otra pregunta, solicite funciones para publicarlas en la lista de correo para los usuarios de Apache Apex: https://mail-archives.apache.org/mod_mbox/incubator-apex-users/