You're not explicitly specifying a relevant form of AvroOutputFormat. This causes the default TextOutputFormat to get used, giving you JSON representation of records.
On Sat, Aug 16, 2014 at 3:07 PM, Anand Nalya <anand.na...@gmail.com> wrote: > Hi, > > I'm writing a MR 2 job in which I'm reading plain text as input and > producing avro output. On running the job in local mode, the output is being > serialized into json format. What can I do so that the output uses binary > encoding. Following is my job definition: > > Job job = new Job(getConf(), "Post convertor"); > job.setJarByClass(getClass()); > > AvroJob.setOutputKeySchema(job, Post.getClassSchema()); > AvroJob.setMapOutputKeySchema(job, Schema.create(Schema.Type.LONG)); > AvroJob.setMapOutputValueSchema(job, Post.getClassSchema()); > > FileInputFormat.addInputPath(job, new Path(args[0])); > FileOutputFormat.setOutputPath(job, new Path(args[1])); > > job.setMapperClass(PostMapper.class); > job.setReducerClass(PostReducer.class); > > Regards. > Anand -- Harsh J