В чем разница между Apache Spark и Apache Apex?
Apache Apex - это платформа унифицированного управления потоками и пакетной обработкой корпоративного класса с открытым исходным кодом. Используется в платформе GE Predix для IOT. Каковы основные различия между этими двумя платформами?
Вопросы
- С точки зрения науки о данных, чем она отличается от Spark?
- Предоставляет ли Apache Apex такую функциональность, как Spark MLlib? Если нам нужно построить масштабируемые модели ML на Apache Apex, как это сделать и какой язык использовать?
- Придется ли ученым, изучающим данные, изучать Java для построения масштабируемых моделей ML? Есть ли у него Python API, как pyspark?
- Можно ли интегрировать Apache Apex со Spark и можно ли использовать Spark MLlib поверх Apex для построения моделей ML?
1 ответ
- Apache Apex - движок для обработки потоковых данных. Некоторые другие, которые пытаются достичь того же, - Apache Storm, Apache Flink. Отличительным фактором для Apache Apex является: он поставляется со встроенной поддержкой отказоустойчивости, масштабируемости и акцентом на работоспособность, которые являются ключевыми соображениями в производственных сценариях использования.
Сравнивая его со Spark: Apache Spark фактически является пакетной обработкой. Если вы рассматриваете потоковую передачу Spark (в которой используется искра), то это микропакетная обработка. Apache apex, напротив, является настоящей потоковой обработкой. В некотором смысле входящая запись НЕ ДОЛЖНА ждать обработки следующей записи. Запись обрабатывается и отправляется на следующий уровень обработки, как только она поступает.
В настоящее время ведутся работы по добавлению поддержки интеграции Apache Apex с библиотеками машинного обучения, такими как Apache Samoa, H2O. См. https://issues.apache.org/jira/browse/SAMOA-49
В настоящее время он поддерживает Java, Scala.
https://www.datatorrent.com/blog/blog-writing-apache-apex-application-in-scala/ Для Python вы можете попробовать его с помощью Jython. Но я сам не пробовал. Так что, не очень уверен в этом.Интеграция со Spark может быть не очень хорошей идеей, учитывая, что это два разных процессора. Но интеграция Apache apex с библиотеками машинного обучения находится в стадии разработки.
Если у вас есть какие-либо вопросы, просьбы о функциях, вы можете опубликовать их в списке рассылки для пользователей Apache APEX: https://mail-archives.apache.org/mod_mbox/incubator-apex-users/