2015-03-12 5 views
0

У меня есть 4 узла кластера в datastax 4.6 с 2 искрами, 1 solr и 1 узел cassnadra. Я беру запрос на выполнение sparksql-запроса (используя контекст hive) с удаленных серверов с помощью java. В этом процессе всякий раз, когда я подключаюсь к искрообразованию и использованию hivecontext, выполнение запроса занимает до 2 минут. Может быть, из-за метастабильности улья и по мере роста числа таблиц увеличивается время его выполнения.Пул соединений SparkSQL

Может ли кто-нибудь предложить какое-либо решение? Возможно ли объединение объектов/соединений?

Благодаря

+0

Как быстро запрос в искровой оболочке? – phact

+0

В оболочке Spark также первый запрос в контексте улья занимает время. – user3632180

ответ

0

Спарк способен оптимизировать карту уменьшить, потянув данных в РДД-х ленивым способом. В отличие от Hadoop, он считывает только с диска, когда это необходимо, и кэширует данные в памяти для более быстрого доступа.

Когда вы читаете из Кассандры в Искре есть несколько параметров настройки и некоторые лучшие практики, которые могут помочь вам оптимизировать производительность:

  1. Проверьте, как stages работы, как ваша работа выполняется. Выяснение того, какой этап занимает время, поможет вам понять, как лучше всего его оптимизировать.
  2. Используйте LogicalPlan() в искровой раковине, чтобы увидеть шаги, которые искра должна выполнить.
  3. Если вы делаете shuffles, избегайте их - они удаляют преимущества данных.
  4. Оптимизируйте свой split size and page row size для более быстрого чтения.

Вы пытались сравнить производительность между SparkSQL и HiveContext? Хотя SparkSQL еще не полностью зрелый, он будет продолжать развиваться и улучшаться в долгосрочной перспективе, когда контекст улья не может быть. Используйте SparkSQL, когда это возможно.