2015-03-05 2 views
0

Я пытаюсь запустить задание MapReduce на oozie, которое принимает снимок таблицы HBase в качестве его ввода. В настоящее время я могу это сделать (не используя рабочий процесс oozie) с использованием org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil, который предоставляет мне метод initTableSnapshotMapperJob().Использование таблицы HBase Снимок в рабочем процессе Oozie

Есть ли аналогичный вариант в oozie, где я могу указать HBase SNAPSHOT в качестве входных данных для моей работы по сокращению карты. Если нет, то какие другие варианты?

ответ

0

Для этого можно использовать банку Uber. Oozie позволяет планировать Uber банки напрямую без конфигурации Mapper и Reducer:

<action name="mr-node"> 
    <map-reduce> 
     <job-tracker>${jobTracker}</job-tracker> 
     <name-node>${nameNode}</name-node> 
     <configuration> 
      <property> 
       <name>oozie.mapreduce.uber.jar</name> 
       <value>${nameNode}/user/${wf:user()}/my-uber-jar.jar</value> 
      </property> 
     </configuration> 
    </map-reduce> 
    <ok to="end"/> 
    <error to="fail"/> 
</action> 

Перед этим убедитесь, что ваш oozie.action.mapreduce.uber.jar.enable свойство имеет значение верно в oozie сайте .xml

0

Я не думаю, что вы можете сделать это с помощью oozie MapReduce Action. Возможно, вы можете использовать Java Action. Но с Java Action вам нужно будет написать драйвер для своей работы MapReduce.
Согласно моему опыту с Oozie, действие MapReduce имеет множество ограничений, кроме базовых вещей. Например: Oozie не поддерживает ChainMapper и ChainReducer.

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