Razvan
Razvan

Reputation: 10093

Hadoop new API - Set OutputFormat

I'm trying to set the OutputFormat of my job to MapFileOutputFormat using:

jobConf.setOutputFormat(MapFileOutputFormat.class);

I get this error: mapred.output.format.class is incompatible with new reduce API mode

I suppose I should use the set setOutputFormatClass() of the new Job class but the problem is that when I try to do this:

job.setOutputFormatClass(MapFileOutputFormat.class);

it expects me to use this class: org.apache.hadoop.mapreduce.lib.output.MapFileOutputFormat. In hadoop 1.0.X there is no such class. It only exists in earlier versions (e.g 0.x)

How can I solve this problem ?

Thank you!

Upvotes: 0

Views: 2727

Answers (2)

Chris H
Chris H

Reputation: 68

Have you tried the following?

import org.apache.hadoop.mapreduce.lib.output;
...
LazyOutputFormat.setOutputFormatClass(job, MapFileOutputFormat.class);

Upvotes: 0

Razvan
Razvan

Reputation: 10093

This problem has no decently easily implementable solution.

I gave up and used Sequence files which fit my requirements too.

Upvotes: 1

Related Questions