Custom Partitioner not working in Oozie Mapreduce action -


i have implemented secondary sort in mapreduce , trying execute using oozie (from hue).

though have set partitioner class in properties, partitioner not being executed. so, i'm not getting output expected.

the same code runs fine when run using hadoop command.

and here workflow.xml

<workflow-app name="mytriplets" xmlns="uri:oozie:workflow:0.5"> <start to="mapreduce-598d"/> <kill name="kill">     <message>action failed, error message[${wf:errormessage(wf:lasterrornode())}]</message> </kill> <action name="mapreduce-598d">     <map-reduce>         <job-tracker>${jobtracker}</job-tracker>         <name-node>${namenode}</name-node>         <configuration>             <property>                 <name>mapred.output.dir</name>                 <value>/test_1109_3</value>             </property>             <property>                 <name>mapred.input.dir</name>                 <value>/apps/hive/warehouse/7360_0609_rx/day=06-09-2017/hour=13/quarter=2/,/apps/hive/warehouse/7360_0609_tx/day=06-09-2017/hour=13/quarter=2/,/apps/hive/warehouse/7360_0509_util/day=05-09-2017/hour=16/quarter=1/</value>             </property>             <property>                 <name>mapred.input.format.class</name>                 <value>org.apache.hadoop.hive.ql.io.rcfileinputformat</value>             </property>             <property>                 <name>mapred.mapper.class</name>                 <value>ponrankmapper</value>             </property>             <property>                 <name>mapred.reducer.class</name>                 <value>ponrankreducer</value>             </property>             <property>                 <name>mapred.output.value.comparator.class</name>                 <value>ponrankgroupingcomparator</value>             </property>             <property>                 <name>mapred.mapoutput.key.class</name>                 <value>ponrankpair</value>             </property>             <property>                 <name>mapred.mapoutput.value.class</name>                 <value>org.apache.hadoop.io.text</value>             </property>             <property>                 <name>mapred.reduce.output.key.class</name>                 <value>org.apache.hadoop.io.nullwritable</value>             </property>             <property>                 <name>mapred.reduce.output.value.class</name>                 <value>org.apache.hadoop.io.text</value>             </property>             <property>                 <name>mapred.reduce.tasks</name>                 <value>1</value>             </property>             <property>                 <name>mapred.partitioner.class</name>                 <value>ponrankpartitioner</value>             </property>             <property>                 <name>mapred.mapper.new-api</name>                 <value>false</value>             </property>         </configuration>     </map-reduce>     <ok to="end"/>     <error to="kill"/> </action> <end name="end"/> 

when running using hadoop jar command, set partitioner class using jobconf.setpartitionerclass api.

not sure why partitioner not executed when running using oozie. inspite of adding

            <property>                 <name>mapred.partitioner.class</name>                 <value>ponrankpartitioner</value>             </property> 

any i'm missing when running oozie ??

solved re-writing mapreduce job using new api's.

the property used in oozie workflow partitioner mapreduce.partitioner.class.


Comments

Popular posts from this blog

minify - Minimizing css files -

neo4j - finding mutual friends in a cypher statement starting with three or more persons -

php - How to remove letter in front of the word laravel -