2017-02-02 2 views
0

Я новый с искрой и пытаясь понять разницу в производительности в ниже подходах (Спарк на Hadoop)искрового Java многопоточности против запуска отдельных искровых рабочих мест

Сценария: В соответствии с пакетной обработкой У меня есть 50 ульев запросов к run.Some может работать параллельно и несколько последовательных.

- Первый подход

Все запросы могут быть сохранены в таблице улья, и я могу написать драйвер Spark, чтобы прочитать все запросы на один раз и запускать все запросы параллельно (с HiveContext) с использованием Java мульти- резьб

  • плюсов: легко поддерживать
  • Минусов: все ресурсы могут получить занятые и настройки производительности может быть жесткими для каждого запроса.

- Второй подход

с использованием oozie искровых действий идут каждый запрос индивидуального

  • плюсов: оптимизация может быть сделаны на уровне запросов
  • минусов: трудно поддерживать.

Не удалось найти документ о первом подходе к тому, как Spark будет обрабатывать запросы внутри первого подхода. С точки зрения эффективности, какой подход лучше?

Единственное на Спарк многопоточности я мог бы нашел это: «в пределах каждого приложения Спарк, несколько„рабочих мест“(Спарк действия) могут выполняться одновременно, если они были представлены разными потоками»

Спасибо заранее

+0

почему -1 ?? Если этот вопрос является двумя основными, можете ли вы дать некоторые указатели, чтобы понять это? – user2895589

ответ

0

Поскольку ваше требование запускать улей запросы параллельно с условием

Некоторые из них могут работать параллельно, а некоторые последовательно

Этот вид рабочих процессов лучше всего обрабатывается процессором DAG, который Apache Oozie есть. Этот подход будет более понятным, чем управление вашими запросами по коду, то есть вы будете создавать свой собственный процессор DAG вместо того, чтобы использовать тот, который предоставляется oozie.

+0

позволяет предположить, могу ли я запускать все запросы (запросы, которые занимают среднее время от 7 до 8 минут для завершения в улье) параллельно будет многопоточным быть хорошим выбором? – user2895589

+0

да .. если все запросы должны выполняться параллельно без каких-либо зависимостей с другими запросами, чем параллельное выполнение вместо процессора Dag, например, Oozie. –

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