Hadoop - выполнение мульти-Map-заданий - PullRequest
0 голосов
/ 28 июня 2011

У меня есть приложение, которое реализует только функцию карты.Я создаю 1000 рабочих мест, каждое с уникальным PrefixFilter.Пример:

public void startNewScan(String prefix, long endTime)
    Job job = new Job(conf, "MyJob");
    job.setNumReduceTasks(0);

    Scan scan = new Scan();

    scan.setTimeRange(0, endTime);
    scan.addColumn(Bytes.toBytes("col"), Bytes.toBytes("Value"));
    scan.setFilter(new PrefixFilter(prefix.getBytes()));

    TableMapReduceUtil.initTableMapperJob(tableName, scan, ExtractMapper.class, ImmutableBytesWritable.class, Result.class, job);
    job.waitForCompletion(true);
}

Сейчас - я не хочу ждать завершения, потому что выполнение 1000 заданий займет у меня навсегда.Создание темы для каждого задания также не вариант.Есть ли что-то встроенное для этого использования?Что-то вроде JobsPool, которое принимает все задания и имеет собственный waitForCompletion для всех заданий ..

Заранее спасибо, Udi

1 Ответ

0 голосов
/ 28 июня 2011

Использование:

job.submit();

"Submit the job to the cluster and return immediately."
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...