Как сделать так, чтобы куст выполнял задания одновременно? - PullRequest
6 голосов
/ 15 января 2012

Я новичок в улье и столкнулся с проблемой,

У меня есть стол в улье, как это:

create table td(id int, time string, ip string, v1 bigint, v2 int, v3 int,
v4 int, v5 bigint, v6 int)  PARTITIONED BY(dt STRING)
ROW FORMAT DELIMITED FIELDS
TERMINATED BY ','  lines TERMINATED BY '\n' ;  

И я запускаю sql как:

from td
INSERT OVERWRITE  DIRECTORY '/tmp/total.out' select count(v1)
INSERT OVERWRITE  DIRECTORY '/tmp/totaldistinct.out' select count(distinct v1)
INSERT OVERWRITE  DIRECTORY '/tmp/distinctuin.out' select distinct v1

INSERT OVERWRITE  DIRECTORY '/tmp/v4.out' select v4 , count(v1), count(distinct v1) group by v4
INSERT OVERWRITE  DIRECTORY '/tmp/v3v4.out' select v3, v4 , count(v1), count(distinct v1) group by v3, v4

INSERT OVERWRITE  DIRECTORY '/tmp/v426.out' select count(v1), count(distinct v1)  where v4=2 or v4=6
INSERT OVERWRITE  DIRECTORY '/tmp/v3v426.out' select v3, count(v1), count(distinct v1) where v4=2 or v4=6 group by v3

INSERT OVERWRITE  DIRECTORY '/tmp/v415.out' select count(v1), count(distinct v1)  where v4=1 or v4=5
INSERT OVERWRITE  DIRECTORY '/tmp/v3v415.out' select v3, count(v1), count(distinct v1) where v4=1 or v4=5 group by v3

это работает, и результат вывода - то, что я хочу.

но есть одна проблема: куст генерирует 9 заданий mapreduce и запускает их поочередно.

Я выполняю объяснение по этому запросу, и я получил следующее сообщение:

STAGE DEPENDENCIES:
  Stage-9 is a root stage
  Stage-0 depends on stages: Stage-9
  Stage-10 depends on stages: Stage-9
  Stage-1 depends on stages: Stage-10
  Stage-11 depends on stages: Stage-9
  Stage-2 depends on stages: Stage-11
  Stage-12 depends on stages: Stage-9
  Stage-3 depends on stages: Stage-12
  Stage-13 depends on stages: Stage-9
  Stage-4 depends on stages: Stage-13
  Stage-14 depends on stages: Stage-9
  Stage-5 depends on stages: Stage-14
  Stage-15 depends on stages: Stage-9
  Stage-6 depends on stages: Stage-15
  Stage-16 depends on stages: Stage-9
  Stage-7 depends on stages: Stage-16
  Stage-17 depends on stages: Stage-9
  Stage-8 depends on stages: Stage-17

похоже, что этап 9-17 соответствует заданию mapreduce 0-8
но из объяснения выше, этап 10-17 зависит только от этапа 9
поэтому у меня есть вопрос, почему работа 1-8 не может работать одновременно?

Или как я могу заставить работу 1-8 работать одновременно?

Большое спасибо за помощь!

1 Ответ

5 голосов
/ 17 января 2012

В hive-default.xml есть свойство с именем "hive.exec.parallel", которое может разрешить параллельное выполнение задания. Значение по умолчанию неверно". Вы можете изменить его на «true», чтобы приобрести эту способность. Вы можете использовать другое свойство "hive.exec.parallel.thread.number", чтобы контролировать, как много параллельных заданий может выполняться максимум.

Для более подробной информации: https://issues.apache.org/jira/browse/HIVE-549

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...