2015-09-16 3 views
1

Было бы разумно заменить MR полностью на Spark. Вот те области, где мы по-прежнему использовать MR и нужно ввод, чтобы идти вперед с Apache Спарк опцию-Когда мы должны пойти на Apache Spark

  • ETL: проверки данных и преобразования. SQoop и пользовательские MR-программы с использованием MR API.
  • Machine Learning: Mahout алгоритмы выработки рекомендаций, в классификации и кластеризации
  • NoSQL Интеграция: Взаимодействие с NoSQL баз данных с использованием MR API
  • потоковая обработка: Мы используем Apache Шторма для выполнения обработки потока в пакетах.
  • Hive Запрос: Мы уже используем Tez двигатель для ускорения Hive запросов и увидеть 10X улучшение производительности по сравнению с двигателем MR

ответ

2

ETL - Свеча имеет гораздо меньше шаблонный код, необходимый, чем MR. Кроме того, вы можете кодировать в Scala, Java и Python (не говоря уже о R, но, вероятно, не для ETL). В частности, Scala упрощает внедрение ETL - писать меньше кода.

Machine Learning - ML является одной из причин появления Искра. С MapReduce взаимодействие с HDFS делает очень много программ ML очень медленными (если у вас нет кэширования HDFS, но я мало что знаю об этом). Spark может работать в оперативной памяти, поэтому вы можете создавать программы ML с различными параметрами, чтобы работать рекурсивно против набора данных, который находится в памяти, поэтому взаимодействие файловой системы (за исключением начальной нагрузки) не происходит.

NoSQL - Существует много источников данных NoSQL, которые можно легко подключить к Spark с помощью SparkSQL. Просто Google, который вас интересует, вероятно, очень легко подключиться.

Stream Processing - Spark Streaming работает в микропакетах и ​​является одной из главных торговых точек Storm over Spark Streaming, так это то, что это настоящая потоковая передача, а не микропакеты. Поскольку вы уже используете партии, Spark Streaming должен хорошо подходить.

Hive Query - Существует проект Hive on Spark, который продолжается. Check the status here. Это позволит Hive выполнять запросы через ваш Spark Cluster и должен быть сопоставим с Hive on Tez.

Смежные вопросы