Hadoop Reducer: как я могу выводить в несколько каталогов, используя умозрительное выполнение?

У меня есть редуктор, который должен выводить результаты в разные каталоги, чтобы впоследствии мы могли использовать выходные данные в качестве входных данных для Hive в качестве секционированной таблицы. (Hive создает разделы на основе имени папки). Чтобы писать в эти места, в настоящее время мы не используем какую-либо инфраструктуру Hadoop для этого, мы просто пишем в отдельные места, так сказать, за спиной Hadoop. Другими словами, мы не используем API hadoop для вывода этих файлов.

У нас были проблемы сmapred.reduce.tasks.speculative.execution установлен вtrue, Я понимаю, что это так, потому что несколько попыток для одной и той же задачи пишут в одно и то же место.

Есть ли способ правильно использовать API Hadoop для вывода в несколько разных папок из одного и того же редуктора, чтобы я также мог использоватьmapred.reduce.tasks.speculative.execution=true ? (Я знаю о MultipleOutputs, который я не уверен, поддерживает спекулятивное выполнение.)

Если так, есть ли способ сделать этоа также вывод на S3?

Ответы на вопрос(2)

Ваш ответ на вопрос