2015-08-05 2 views
1

При создании рабочего процесса в Oozie у меня есть первый шаг java, который генерирует файл со списком файлов, которые мне нужны для следующего шага (уменьшение карты). Как я могу передать эту работу по уменьшению количества карт с этим файлом?Может ли задание MapReduce в Oozie читать из файла?

Я знаю, что я мог бы поставить галочку в Захват выходной окно шага Java, а затем использовать mapred.input.dir на этапе картографического уменьшить использовать этот захваченный выходной сигнал в качестве входного сигнала. Но я хочу отделиться от этого.

Просто для записи, содержание моего файла выглядит следующим образом:

/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/18,/data/kafka /4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/19,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/20,/data/kafka/4/camus /DATA.TRADE.ORDERHISTORY/daily/2015/07/21,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/22,/data/kafka/4/camus/DATA.TRADE .ORDERHISTORY/сут/2015/07/23,/данные/Kafka/4/Камю/DATA.TRADE.ORDERHISTORY/сут/2015/07/24,/данные/Kafka/4/Камю/DATA.TRADE.ORDERHISTORY/сут /2015/07/25,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/26,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07 /27,/data/kafka/4/camus/DATA.TRADE.OR DERHISTORY/ежедневно/2015/07/28

ответ

1

Вы хотите использовать этот файл в качестве входного файла или файл в параметра ??

Во втором случае,

  • активировать < захват-выход/> вариант для начального действия
  • выход что-то вроде «param.file =/а/B/C/z.txt "
  • в следующем действии, используйте соответствующую функцию ЭЛ для получения имени файла и передать его как свойство < > или <Env>

    $ {ВФ: actionData ("InitialActionName") [ "param.file"]}

  • затем использовать несколько строк Java, чтобы открыть этот файл HDFS и делать все вы должны делать с содержимым, прежде чем делать реальную карту или уменьшить количество работы

+0

Это довольно много, что я искал. В чём другой вариант? – Tavo

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